[백준 알고리즘]/[C++]

8958번 OX퀴즈 / Baekjoon BOJ 백준 8958 C++ 코드, 해설, 풀이

말하는펭귄 2020. 12. 2. 15:53
728x90
반응형

 

이번 포스팅은 백준 8958번 OX퀴즈입니다.

아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.

www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net

 

 

기본 알고리즘

O가 연속되면 alpha값을 1씩 증가하여 연속된 O의 개수만큼 score를 저장

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
 
int main() {
    int n;
    cin >> n;
 
    string quiz;
    int scoreArr[100];
    int score = 0;
    int alpha = 1;
    for (int i = 0; i < n; i++, score=0, alpha=1) {
        cin >> quiz;
 
        for (int l = 0; l < quiz.length(); l++) {
            if (quiz.at(l) == 'O') {
                score += alpha;
                alpha++;
            }
            else {
                alpha = 1;
            }
        }
        scoreArr[i] = score;
    }
 
    for (int i = 0; i < n; i++) {
        cout << scoreArr[i] << endl;
    }
 
}
cs

 

 

 

 

 

 

 

728x90
반응형