코딩테스트 연습 기록

이종길·2021년 12월 22일
0

코딩테스트 연습

목록 보기
5/128

2021.12.22 1일차

백준 8958번 (OX퀴즈)

문제

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

"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.

OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.

나의 풀이

  1. 문제 개수 설정, 문자열 O와 X로 구성
  2. 이중 for문 사용(문제 개수 N번 반복, 문제 OX 개수 길이만큼 반복)
  3. 카운터, 합계 설정
  4. X나오면 카운터 0으로 초기화, O나오면 카운터 1씩 더하고 합계에 추가
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();

        for (int i = 0; i < n; i++) {
            String answer = scanner.next();
            int count = 0;
            int sum = 0;

            for (int x = 0; x < answer.length(); x++) {
                if (answer.charAt(x) == 'O') {
                    count++;
                    sum += count;
                } else {
                    count = 0;
                }
            }
            System.out.println(sum);
        }
    }
}

생각하기

profile
Go High

0개의 댓글

관련 채용 정보