개발자/문제풀이 (Java)
[백준/BOJ] 8958번 OX퀴즈 (java)
devBB
2018. 2. 6. 14:22
728x90
반응형
백준 온라인 저지(BOJ) 8958번 OX퀴즈
https://www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
* 사용언어 : java, 자바
1. 문제
"OOXXOXXOOO" 와 같은 OX 퀴즈 결과가 T개 주어짐
문제를 맞은 경우 그 문제까지 맞은 개수가 그 문제의 점수가 됨
위 예의 경우 1+2+0+0+1+0+0+1+2+3 = 10 이 됨
각 테스트 케이스의 점수를 출력
2. 풀이
String 배열을 각 케이스를 만들어 문자열로 입력받습니다.
for 문을 사용하여 점수를 구하고 더해주었습니다.
count 의 초기값이 0이고 또 'X' 일 때 0으로 설정하므로,
'O' 가 될 때마다 count를 전위증가(++count) 한 후 total에 더해주었습니다.
3. 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String[] cases = new String[N];
for (int i = 0; i < N; i++) cases[i] = sc.next();
sc.close();
int count, total;
for (String OXresult : cases) {
count = 0;
total = 0;
for (int i = 0; i < OXresult.length(); ++i) {
if (OXresult.charAt(i) == 'O') total += ++count;
else count = 0;
}
System.out.println(total);
}
}
}
728x90
반응형