백준- c++/c 그룹 단어 체커[1316번]
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때�
www.acmicpc.net
이번 문제도 간단하다.
입력값을 배열로 받은 다음에 하나 하나 방문하면서 다음 단어가 다를 경우 ck함수를 이용하여 비교해 주는 방법으로 매우 간단하게
풀었다 ㅎㅎ
소스코드
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <stdio.h>
using namespace std;
int word_len(void);
char word[100+1];
int ck(char w,int index){
for(int i = index+1;i<word_len();i++){
if(w == word[i]){
return -1;
}
}
return 1;
}
int word_len(void){
int cnt = -1;
for(int i = 0;i<100;i++){
if(word[i] == '@')
break;
else
cnt++;
}
return cnt;
}
int main(void){
int T,result = 0;
cin >> T;
for(int i = 0;i<T;i++){
memset(word,'@',100+1);
cin >> word;
for(int j = 0;j<word_len();j++){
if(word[j] == word[j+1]){
continue;
}
else{
if(ck(word[j],j) == -1){
result--;
break;
}
}
}
result++;
}
cout << result;
}