본문 바로가기

PS/BOJ

[C++] BOJ (백준) 8958 : OX퀴즈

문제

8958번: OX퀴즈 (acmicpc.net)

 

8958번: OX퀴즈

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

www.acmicpc.net

코드
#include <iostream>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;

    while (n--) {
        string s;
        cin >> s;
        int tmp = 0;
        int res = 0;

        for (char c : s) {
            if (c == 'O') {
                tmp++;
                res += tmp;
            } else tmp = 0;

        }

        cout << res << '\n';
    }
    return 0;
}

 

설명

tmp 변수에 O가 연속된 횟수를 기록하고, tmp 만큼 점수를 올린다.

'PS > BOJ' 카테고리의 다른 글

[C++] BOJ (백준) 11720 : 숫자의 합  (0) 2022.09.09
[C++] BOJ (백준) 10818 : 최소, 최대  (0) 2022.09.09
[C++] BOJ (백준) 3052 : 나머지  (0) 2022.09.07
[C++] BOJ (백준) 2920 : 음계  (0) 2022.09.06
[C++] BOJ (백준) 2908 : 상수  (0) 2022.09.06