치춘짱베리굿나이스

[백준] 1316 그룹 단어 체커 본문

C C++/알고리즘풀이

[백준] 1316 그룹 단어 체커

치춘 2021. 9. 13. 22:58

그룹 단어 체커

문제

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

단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다.

출력

첫째 줄에 그룹 단어의 개수를 출력한다.

풀이

#include <stdio.h>

int    check_letter(char str[101])
{
    int    alpha[26];
    int    index;

    index = -1;
    while (++index < 26)
        alpha[index] = 0;
    while (*(str + 1))
    {
        if (alpha[*str - 'a'])
            return (0);
        if (*str != *(str + 1))
            alpha[*str - 'a'] = 1;
        str++;
    }
    if (alpha[*str - 'a'])
        return (0);
    return (1);
}

void    init_str(char str[101])
{
    int    index;

    index = -1;
    while (++index < 101)
        str[index] = 0;
}

int    main(void)
{
    int        n;
    int        index;
    int        result;
    char    str[101];

    scanf("%d", &n);
    index = -1;
    result = 0;
    while (++index < n)
    {
        init_str(str);
        scanf("%s", str);
        result += check_letter(str);
    }
    printf("%d", result);
}

반성회

오랜만에 알고리즘

철학자 끝나니 커밋할게 없어서 하나 추천받아서 풀었다 아주 적절한 난이도 선정 감사합니다

 

사실 알고리즘 문제 푸는거에 (특히 백준 + 솔브닥) 부심 오지게 가지면서 지들만 아는 이야기 떠벌리면서 우월감갖는 오타쿠같은 인간들 많아서 개인적으로 정말 진짜 싫어한다 (당연히 그런 인간들도 정말 싫어함.. 무슨 인생업적이 알고리즘 문제풀기임 이사람들은)

이게 뭔가 사람을 단순 레벨로 판단하고 거르는 척도가 된 것 같아서 진짜 매우 불쾌함

그래도 하루에 한개 정도는 풀만한것같기도 하다 아마도..

 

솔브닥 솔직히 취지자체는 좋지만.. 알고리즘 푸는게 결국 본인들 공부할라고 푸는거지 남들 레벨 보면서 우월감 갖고 남 찍어누르라고 있는 건 아니잖아요 그쵸?

물론 반대도 마찬가지고.. 자괴감들게 뭐있나... 하면서도 솔직히 자괴감듦 본격적으로 시작한진 2주됐지만

뭔가 여러 생각이 들게하는

'C C++ > 알고리즘풀이' 카테고리의 다른 글

[백준] 2845 파티가 끝나고 난 뒤  (1) 2021.09.20
[백준] 1550 16진수 [C]  (0) 2021.09.15
[백준] 2775 부녀회장이 될테야  (0) 2021.09.09
[백준] 2292 벌집  (0) 2021.09.09
[백준] 2231 분해합  (0) 2021.09.09
Comments