본문 바로가기

Problem Solving/백준

[백준/C++] 8958번 OX퀴즈


#include <iostream>
using namespace std;


int main() {
    int N, count = 0, answer = 0;
    string str;
    cin >> N;
    for(int i = 0; i < N; i++) {
        cin >> str;
        count = 0; answer = 0;
        for(int j = 0; j < str.length(); j++) {
            if(str[j] == 'O') count++;
            else count = 0;
            answer += count;
        }
        cout << answer << endl;
    }
}

간단하게 O가 중첩될수록 더할 숫자를 증가시켜 전체 합계값에 추가하였다.


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

 

8958번: OX퀴즈

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

www.acmicpc.net