경험의 기록

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

 

8958번: OX퀴즈

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

www.acmicpc.net

 

 

풀이

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
// 8958 OX 퀴즈
#include <iostream>
using namespace std;
 
int main() {
    int Testcase;
    int score = 0;
    string tmp;
    
    cin >> Testcase; // 받는 테스트케이스 개수 입력
 
    for (int i = 0; i < Testcase; i++) {
        cin >> tmp; // 테스트 케이스
 
        for (int j = 0; j < tmp.length(); j++) {
            if (tmp[j] == 'O') {
                tmp[j] = 1
                if (j > 0 && tmp[j - 1!= 'X') {
                    tmp[j] = tmp[j - 1+ 1;
                }
            } // 문자가 O일경우 1로 만들고, 이전 문자도 O이면 이전 문자의 값 +1로 만듦
            if(tmp[j] != 'X'){
                score += tmp[j]; } // 숫자로 변경한 문자들을 다 더함
        }
 
        cout << score << endl;
        score = 0;
    }
 
}
cs

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading