Notice
Recent Posts
Link
- Today
- Total
hye-log
[백준]8958번 OX퀴즈(JAVA) 본문
0. 문제 링크
https://www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
1. 문제 설명
1) 연속된 O의 개수만큼 점수를 얻었을 때 점수 구하기
2. 입출력
// input
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
// output
10
9
7
55
30
3. 코드
import java.io.*;
import java.util.*;
public class b8958 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine()); // 테스트 케이스의 개수
for (int i = 0; i < T; i++) {
String result = br.readLine(); // OX퀴즈 결과
int score = 0; // OX퀴즈 점수
int bonus = 1; // 연속된 개수
for (int j = 0; j < result.length(); j++) {
switch(result.charAt(j)) {
case 'O':
score += bonus; // 연속된 점수
bonus += 1; // 1점 추가
break;
case 'X':
bonus = 1; // 연속 점수 초기화
break;
default:
break;
}
}
System.out.println(score);
}
}
}
실행 결과
4. 회고
1) O이면 보너스 점수를 추가하고, X이면 보너스 점수를 초기화 하는 방식으로 연속된 O의 점수를 구함
5. Github
https://github.com/iihye/Algorithm/blob/main/Baekjoon/b8958.java
728x90
'CodingTest > Baekjoon' 카테고리의 다른 글
[백준]10809번 알파벳 찾기(JAVA) (0) | 2023.08.13 |
---|---|
[백준]10250번 ACM 호텔(JAVA) (0) | 2023.08.13 |
[백준]3052번 나머지(JAVA) (0) | 2023.08.13 |
[백준]2920번 음계(JAVA) (0) | 2023.08.13 |
[백준]11720번 숫자의 합(JAVA) (0) | 2023.08.13 |
Comments