#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<string> v;
string str;
for (int i = 0; i < n; i++) {
cin >> str;
v.push_back(str);
}
for (int i = 0; i < n; i++) {
int cnt = 0, ans = 0;
for (int j = 0; j < v[i].size(); j++) {
if (v[i].at(j) == 'X')
cnt = 0;
else {
cnt++;
ans += cnt;
}
}
cout << ans << '\n';
}
return 0;
}
저엉말 오랜만에 푼 문제! 하반기 시작하려는 낌새가 느껴져서 급하게 단계별 문제풀기 들어갔다. (나는 코딩찌질이니까ㅠㅠ)
'문자열' 관련된 단어만 나와도 모르겠고 자신이 없어지는 신기한 마법..
[ 문제 풀이 생각 과정 ]
1. 길이 생각하지 않고 문자열을 입력받는다기에 무작정 벡터를 썼다. 다시보니까 안써도 되는데 왜 썼는지 모르겠다.
2. 처음에는 자리를 기준으로 생각했다.
i-1번째가 X,O인 경우로 나눠서 i번째가 X,O인 경우로 생각했는데 - 복잡하기만! 그래서 다시 생각했다.
3. 정말 단순하게!
X일때는 cnt=0 으로, O일때는 cnt++해주고 ans+=cnt 해주면 된다고 갑자기 떠올랐다 헤헤
** 벡터 맘대로 쓰지 않기!!
** 이제 매일매일 문제 하나씩은 풀자!!
'1d-1c > BOJ' 카테고리의 다른 글
2908_상수 (C++) (0) | 2020.08.26 |
---|---|
1157_단어 공부 (C++) (0) | 2020.08.25 |
10809_알파벳 찾기 (C++) (0) | 2020.08.25 |
4673_셀프 넘버 (C++) (0) | 2020.08.24 |
[백준] 1051_숫자정사각형 (Silver3) (C++) (0) | 2020.04.26 |