ALGORITHM

백준 8958 OX퀴즈 (Java)

공부하는_다온 2023. 1. 26. 21:46

1. 문제 링크

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

합을 저장하는 변수와 연속되는 숫자를 세는 변수를 선언한다.

그리고 O가 나오면 연속되는 숫자값을 +1하고, 합에 더한다.

X가 나오면 연속되는 숫자값을 0으로 바꾼다.

 

4. 코드

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Main {
	
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		for(int t=0;t<T;t++) {
			String[] num = br.readLine().split("");
			int count = 0;
			int sum = 0;
			for(int i=0;i<num.length;i++) {
				if(num[i].equals("O")){
					count++;
					sum += count;
				}
				else {
					count = 0;
				}
			}
			System.out.println(sum);
		}
	}
}