728x90
SMALL
https://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
31
|
#include <iostream>
#include <string>
using namespace std;
//"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
//X만나면 count = 0
// count는 0으로 시작. O만나면 total += ++count;
int main(void){
int count, total = 0;
int testNum;
string str;
cin >> testNum;
for(int i = 0 ; i < testNum; i++){
count = 0;
total = 0;
cin >> str;
for(int j = 0 ; j < str.size(); j++){
if(str[j] == 'O'){
total += ++count;
}
else{
count = 0;
continue;
}
}
cout << total << endl;
}
return 0;
}
|
cs |
문제 풀이
1. 입력한 test 개수 만큼 for문 돌리기
2. 한 줄씩 for문에 넣어서
3. O만나면 count를 하나 증가시키고 total에 더해줌
4. X만나면 count를 0으로 초기화
다른 사람들의 코드도 한번 봐야겠다!
LIST
'알고리즘' 카테고리의 다른 글
백준 : : 1018번 체스판 다시 칠하기 - C++ 풀이 (0) | 2022.01.16 |
---|---|
LeetCode : : 14번 Longest Common Prefix - C++ 풀이 (0) | 2022.01.13 |
백준 : : 4659번 비밀번호 발음하기 - C++ 풀이 (0) | 2022.01.11 |
백준 : : 1159번 농구 경기 - C++ 풀이 (0) | 2022.01.10 |
LeetCode : : 1029번 Two City Scheduling - C++ 풀이 (0) | 2022.01.10 |