코딩테스트

[백준/JAVA] 8598 OX퀴즈

코드사냥꾼 2021. 4. 29. 17:24

문제

 

 

풀이

행열 문제라고 생각하고 풀었다. 주의할 점은 String 문자열에서 특정 문자를 찾는 charAt() 사용시 큰따옴표가 아닌(" ") 작은 따옴표(' ')를 써야한다.

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        // TS 개수
        int num = Integer.parseInt(br.readLine());
        
        String[] str = new String[num];
        for(int i=0; i<num; i++) {
            str[i] = br.readLine();
        }
        
        // 행 : length를 통해 배열의 크기만큼 행 반복하도록 함
        for(int i=0; i<str.length; i++) {
             int cnt = 0;
             int sum = 0;
            // 열 : length()를 통해 반환된 문자열 길이안에서 특정 문자 검색
            for(int j=0; j<str[i].length(); j++) {
                // i번째 행의 j번째 열의 값이 "O" 일 때
                if(str[i].charAt(j) == 'O') {
                // O 개수 카운트 증가
                cnt++;
            } else {
                cnt = 0;
             }
             // 한 행 검색이 끝나면 카운트를 더하기 
             sum+=cnt;
           }
            System.out.println(sum);
        }
    }
}

 

 

www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net