‡ CODING TEST STUDY ‡/º 백준

[백준 8958번] OX퀴즈

Trudy | 송연 2023. 8. 1. 15:34

8958번: OX퀴즈 (acmicpc.net)

 

8958번: OX퀴즈

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

www.acmicpc.net

단순하게 생각해서 생각한대로 단순하게 풀었더니 맞은 문제

n개의 정수만큼 string을 입력 받으니, n 입력 받고 vector<string>에 n개만큼 input을 넣어줌

 

그리고 각 string을 하나씩 꺼내와서 점수를 계산하고 출력해주는 데

string의 char 하나씩 꺼내서 O면 1점부터 시작해서, O이 나올때까지 count가 1씩 증가함

그래서 OOX이면, count는 1, 2가 됨

그래서 score = 0에서 시작해서 O가 나올 때마다 score += count를 해주면 된다! 

 

그렇게 완성된 코드

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){

    int i,n,m,score, count;
    string str;
    vector <string> data;
    cin >> n;
    for(int i=0; i<n; i++){
        cin >> str;
        data.push_back(str);
    }
    
    for(i=0; i<data.size(); i++){
        str=data[i];
        score = 0;
        for(m=0;m<str.length();m++){
            if(str[m] == 'O'){
                count =0;
                while(str[m] == 'O'){
                    count++;
                    score += count;
                    m++;
                }
            }
        }
        cout << score << endl;
    }
      
    return 0;
}

 

'‡ CODING TEST STUDY ‡ > º 백준' 카테고리의 다른 글

[백준 8393번] 합  (0) 2023.08.23
[백준 14916번] 거스름돈  (0) 2023.08.01
[백준 9498번] 시험 성적  (0) 2023.08.01
[백준 1764번] 듣보잡  (0) 2023.08.01
[백준 2675번] 문자열 반복  (0) 2023.07.27