https://www.acmicpc.net/problem/8958
간단한 구현 문제입니다.
우선 문제부터 간단하게 요약하면,
O인 문제들에 대해 점수를 주는데, 각 문제의 점수는 그 문제까지의 연속한 O의 갯수로 정의합니다.
이때, 각각의 OX표에서 총 점수의 합을 구해서 print해야 하는 문제입니다.
<Solution>
변수를 두어 계속 늘려주면서 연속한 O를 counting하고, 만약 X를 만나게 되면 다시 초기화 시켜주는 형태로 코드를 진행하면 됩니다.
실제 구현은 아래와 같습니다.
#include <iostream>
int calculate(std::string s);
int main(){
int k;
std::cin >> k;
std::string array[k];
for(int i=0;i<k;++i){
std::cin >> array[i];
}
for(auto &s : array){
std::cout << calculate(s) << '\n';
}
return 0;
}
int calculate(std::string s){
int tmp = 0;
int total = 0;
for(int i = 0; i<s.length(); ++i){
if(s[i] == 'O'){
tmp += 1;
total += tmp;
}
else{
tmp = 0;
}
}
return total;
}
반응형
'코딩테스트 > C++ 문제풀이' 카테고리의 다른 글
[백준] 숫자의 합 (0) | 2022.08.21 |
---|---|
[백준] 음계 (0) | 2022.08.21 |
[백준] 나머지 (0) | 2022.08.20 |
[백준] 별 찍기 - 2 (0) | 2022.08.20 |
[백준] 단어공부 (0) | 2022.08.20 |