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 |