#include<bits/stdc++.h>
using namespace std;
int grword;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int alpha[26] = { 0, };
string word;
cin >> word;
int flag = 0;
for (int k = 0; k < word.size(); k++) {
alpha[(int)word[k] - 97]++;
//앞뒤글자가 다를때, 앞에 알파벳이 나왔던 알파벳인지 검사
if (alpha[(int)word[k] - 97] > 1 && word[k] != word[k - 1]) {
flag = 1;
break;
}
}
if (flag == 0) {
grword++;
}
}
cout << grword;
return 0;
}
문자열 , 구현 문제
앞뒤 다른 알파벳이 나왔을때 , 앞에 나왔던 알파벳이 나왔는지를 alpha[26] 배열을 통해 검사하면 된다.
alpha 배열은 여태까지 나왔던 알파뱃을 index화해서 개수를 count 해하여 저장해놓은 배열
'알고리즘 풀이' 카테고리의 다른 글
[백준] 16945 매직스퀘어로 변경하기 (순열을 이용한 풀이) (0) | 2021.05.24 |
---|---|
[백준] 1120 문자열 - 완전탐색 (0) | 2021.05.12 |
[백준] 일곱난쟁이 완전탐색 (0) | 2021.05.11 |
[백준] 크로아티아 알파벳 (0) | 2021.03.12 |
bj4344 C++ 풀이 (0) | 2021.03.10 |