코드
#include <iostream>
#include <string>
using namespace std;
int n,a[27],res;
string s;
int main() {
cin >> n;
// n번 반복
while(n--) {
cin >> s;
bool isgroup = true;
char prevalpha = '1';
for(int i = 0; i < s.length(); i++) {
// 처음 등장한 알파벳이거나, 이미 등장했지만 이전 알파벳과 같은 경우
if(a[s[i]-'a'] == 0 || (a[s[i]-'a'] && prevalpha == s[i])) {
a[s[i]-'a']++;
prevalpha = s[i]; // 이전 알파벳 업데이트
continue; // 다음 코드가 실행되지 않음
}
isgroup = false;
break; // false가 되면 그 다음은 체크 X
}
if(isgroup) res++; // 조건에 맞다면 개수 증가
fill(a,a+27,0); // 다음 단어 체크를 위해 방문배열 초기화
}
cout << res << '\n';
return 0;
}
'백준' 카테고리의 다른 글
[백준] 2563번 색종이 C++ 코드 (1) | 2024.05.02 |
---|---|
[백준] 1018번 체스판 다시 칠하기 C++ 코드 (1) | 2024.05.02 |
[백준] 1193번 분수찾기 C++ 코드 (0) | 2024.05.02 |
[백준] 4134번 다음 소수 C++ 코드 (0) | 2024.04.29 |
[백준] 24511번 queuestack C++ 코드 (0) | 2024.04.29 |