본문 바로가기

ALGORITHM

백준 8958 OX퀴즈 (Java)

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);
		}
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 1010 다리놓기 (Java)  (0) 2023.01.28
백준 1157 단어 공부 (Java)  (0) 2023.01.27
백준 1547 공 (Java)  (0) 2023.01.25
백준 1931 회의실 배정 (Java)  (0) 2023.01.24
백준 5585 거스름돈 (Java)  (0) 2023.01.23