본문 바로가기

코딩 이야기/백준 풀이

백준 1316번: 그룹 단어 체커 C언어 코드(구현)

반응형

#include<stdio.h>

int main(){
    int n;
    scanf("%d", &n);
    int count = n;
    for(int i=0; i<n; i++){
        char lastchar = '0';
        char word[101] = {0,};
        int state = 0;
        scanf("%s", word);
        for(int j=0; j<word[j]!='\0'; j++){
            if(state == 1){
                state = 0;
                break;
            }
            if(word[j] != lastchar){
                lastchar = word[j];
                for(int k=0; k<j; k++){
                    if(word[k] == word[j]){
                        count -= 1;
                        state = 1;
                        break;
                    }
                }
            }
        }
    }
    printf("%d", count);
}
설명

구현, 문자열 문제로 고민만 조금해보면 절대 어려운 문제가 아니다. 문자열을 입력 받은 뒤 문자열을 앞에서부터 검사하며 마지막으로 검사했던 문자와 다르면, 검사하고 있는 문자 이전의 문자 중에서 같은 것이 있는 지 탐색후 있다면 카운트를 -1해주면 되는 문제이다.

 

원래 c++로 올릴 생각이였으나, c++의 문법을 하나도 사용안하고, 벡터나 큐같은 것도 안써서 그냥 C로 올린다...

 

문제점

없다.

반응형