๐ ๋ฌธ์
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
1. testcase์ ๋ฒ์๊ฐ ์ฃผ์ด์ ธ ์์ง ์์ผ๋ฏ๋ก ๊ฐ testcase ๋ง๋ค string์ผ๋ก ํ ์ค์ฉ ์ ๋ ฅ๋ฐ๋๋ค.
2. ํ ์ค์ฉ ์ ๋ ฅ๋ฐ์ ๋๋ง๋ค ์ ์๋ฅผ ๊ณ์ฐํด์ฃผ๋ run ํจ์๋ฅผ ํธ์ถ
3. 'O'์ธ ๊ฒฝ์ฐ O๊ฐ ๋์จ ๊ฐ์์ธ cnt๋ฅผ 1๋งํผ ์ฆ๊ฐ์ํค๊ณ , ์ด ๊ฐ์ sum์ ๋ํด์ค๋ค.
4. 'X'๊ฐ ๋์จ ๊ฒฝ์ฐ O์ ๊ฐ์๋ ์ฒ์๋ถํฐ ๋ค์ ์ธ์ฃผ์ด์ผ ํ๋ฏ๋ก cnt๋ฅผ 0์ผ๋ก ์ด๊ธฐํ์ํจ๋ค.
๐ ๋ด ์ฝ๋(C++)
// [8958] OXํด์ฆ
// https://www.acmicpc.net/problem/8958
#include <iostream>
#include <string>
using namespace std;
int run(string result)
{
int cnt = 0, sum = 0;
for(int i = 0 ; i < result.size() ; i++) {
if(result[i] == 'O') {
cnt++;
sum += cnt;
}
else if(result[i] == 'X') {
cnt = 0;
}
}
return sum;
}
int main(void)
{
int t;
string result;
cin >> t;
while(t) {
cin >> result;
cout << run(result) << '\n';
t--;
}
}
๋ฐ์ํ
'Baekjoon > ๋ฌธ์์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[1157] ๋จ์ด ๊ณต๋ถ (0) | 2020.06.27 |
---|---|
[11720] ์ซ์์ ํฉ(C / C++) (0) | 2020.06.27 |
[1032] ๋ช ๋ น ํ๋กฌํํธ (0) | 2020.06.21 |
[2675] ๋ฌธ์์ด ๋ฐ๋ณต (0) | 2020.04.11 |
[10809] ์ํ๋ฒณ ์ฐพ๊ธฐ (0) | 2020.04.05 |