C언어 문제풀이

1316번: 그룹 단어 체커

지식보부상님 2021. 1. 3. 16:20

백준 1316번 그룹 단어 체커

 

문제: www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int is_group_num(char[], int);
 
int main()
{
    char S[101];
    int N, i, cnt=0;
 
    scanf("%d"&N);
    for (int i = 0; i < N; i++) {
        scanf("%s", S);
        cnt+=is_group_num(S, strlen(S));
    }
 
    printf("%d", cnt);
    return 0;
}
 
int is_group_num(char S[], int n) {
    int i;
    int A[26= { 0, };
    if (n <= 2)
        return 1;
    A[(int)S[0- 'a']++;
    for (i = 1; i < n; i++) {
        if (S[i] != S[i - 1&& A[(int)S[i] - 'a'!= 0)
                return 0;
        A[(int)S[i] - 'a']++;
    }
    return 1;
}
 
cs