소스코드
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int NumTestCases;
cin >> NumTestCases;
string s;
int result = 0;
for(int i = 0; i < NumTestCases; i++){
cin >> s;
bool check = true;
for(int j = 0; j < s.length(); j++){
for(int k = j+1; k < s.length(); k++){
if(s[j] == s[k] && k-j > 1){
for(int t = j+1; t < k; t++){
if(s[t] != s[j]){
check = false;
break;
}
}
}
}
}
if(check == true) result++;
}
cout << result << endl;
return 0;
}
- 변수
int NumTestCases : 단어의 개수
string s : 입력받은 단어
int result : 그룹단어의 개수
bool check : 그룹단어인지 판단하는 변수
- 알고리즘
- 문자 전체를 확인하면서 같은 값인데 인덱스 값이 1이상 차이가 난다면 그 뒤에 문자열을 for문을 돌면서 같은 값이 있는지 확인하고 없다면 check값을 false로 바꿔준다.
- 배운점
- 아쉬운점&느낀점
코드가 개 더럽다.