Recent Posts
Notice
No Rules Rules
그룹 단어 체커 (feat. 백준, 1316번) 본문
728x90
반응형
그룹 단어 체커
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
반응형
// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <cstring>
using namespace std;
int main() {
ios::sync_with_stdio(false), cin.tie(NULL);
register int N, ans = 0;
string str;
cin >> N;
for (register int n = 0, i; n < N; ++n) {
cin >> str;
bool arr[26]{ false };
arr[str.at(0) - 'a'] = true;
for (i = 1; i < str.size(); ++i) {
if (str.at(i - 1) != str.at(i) && arr[str.at(i) - 'a'])
break;
else
arr[str.at(i) - 'a'] = true;
}
if (i == str.size())
++ans;
}
cout << ans << "\n";
return 0;
}
// *&)*@*
- 입력받은 문자열 중 첫번째 문자에 대해서 체크를 해둡니다. (arr[str.at(0) - 'a'] = true)
- 두번째 문자부터 끝까지 반복하며, 내 이전 문자와 현재의 문자가 다르고 현재의 문자가 이미 체크되어 있다면 종료시킵니다. (왜냐면 이전에 해당 문자가 나왔다는 의미이기 때문입니다.)
- 2번에서 종료되지 않고 끝까지 반복하였다면 카운팅합니다. (++ans)
- 카운팅된 값을 출력합니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
스택 (feat. 백준, 10828번) (0) | 2022.08.11 |
---|---|
주유소 (feat. 백준, 13305번) (0) | 2022.08.11 |
크로아티아 알파벳 (feat. 백준, 2941번) (0) | 2022.08.11 |
다이얼 (feat. 백준, 5622번) (0) | 2022.08.11 |
상수 (feat. 백준, 2908번) (0) | 2022.08.11 |
Comments