카테고리 없음
1316 그룹 단어 체커 (백준)
rectified
2025. 2. 26. 13:45
뭔 생각이 부족해서 못 풀었나
check 배열을 지정해서 알파벳을 체크해야 한다는거 까지는 알았는데 이전 캐릭터의 활용을 생각하지 못한것같다.
뭘 실수해서 틀렸나
실수는 아니고 아이디어가 문제였다.
그래서 뭘 기억하면 되나
prev = s[0] 기억하고 문제마다 방법 생각해서 활용하는 것을 길러야함.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
bool groupcheck(string s){
vector<bool> checked(26, false);
char prev = s[0];
checked[prev - 'a'] = true;
for (int i = 1; i < s.size(); i++){
if (checked[s[i] - 'a'] && s[i] != prev){
return false;
}
prev = s[i];
checked[s[i] - 'a'] = true;
}
return true;
}
int main(){
cin.tie(0) -> sync_with_stdio(0);
int N;
cin >> N;
int count = 0;
for (int i = 0; i < N; ++i) {
string word;
cin >> word;
if (groupcheck(word)) {
count++;
}
}
cout << count << '\n';
}