코린이의 소소한 공부노트

[백준 온라인 저지] 8958. OX퀴즈 본문

코딩테스트 풀이/JAVA

[백준 온라인 저지] 8958. OX퀴즈

무지맘 2023. 3. 17. 12:11

- 입력: 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O X만으로 이루어져 있다.

- 출력: 각 테스트 케이스마다 점수를 출력한다.

// 입력에 있는 문자 O는 문제를 맞은 것이고, X는 문제를 틀린 것이다.

// 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, “OOX"라면 1+2+0=3점이 된다.

import java.util.*;
import java.io.*;
class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int[] answer = new int[Integer.valueOf(br.readLine())];
        for(int i=0 ; i<answer.length ; i++){
            String[] input = br.readLine().split("[X]+");
            for(String s : input)
                if(!s.equals(null))
                    answer[i] += s.length()*(s.length()+1)/2;
        }
        for(int i=0; i<answer.length; i++)
            bw.write(answer[i]+"\n");
        bw.flush();
        bw.close();
    }
}