본문 바로가기
🧑‍💻코딩 테스트/백준 (BOJ)

[코딩테스트/백준 알고리즘] 8985 - OX퀴즈 (자바, Java 풀이)

by 코코의 주인 2022. 9. 28.

문제

https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net


문제 설명


문제 풀이

문제를 연속으로 맞힐때마다 보너스 점수가 부여되므로 정답이 연속될 때 보너스 점수를 기록하는 bonus 변수를 만들고 이를 점수를 합산하는 score 변수에 더한다.

 중간에 문제를 틀렸을 경우 bonus를 0으로 초기화 한다.


코드

import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int i = 0; i < T; i++) {
            char[] ans = sc.next().toCharArray();
            int score = 0;
            int bonus = 0;
            
            for(char ch : ans) {
                if(ch == 'O') {
                    bonus++;
                    score += bonus;
                }
                else {
                    bonus = 0;
                }
            }
            System.out.println(score);
        }
    }
}

댓글