백준 1316번 (미해결)

    문제

    https://www.acmicpc.net/problem/1316

     

    1316번: 그룹 단어 체커

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

    www.acmicpc.net

    나의 풀이

    count=0
    for i in range(int(input())):
        alphabet=input()
        error=0
        for j in range(len(alphabet)-1):
            if alphabet[j]!=alphabet[j+1]:
                for k in range(1,len(alphabet)-j):
                    if alphabet[j]==alphabet[j+k]:
                        error+=1
        if error==0:
            count+=1
    print(count)

    다른 사람의 풀이

    def grouped(w):
        w = [w[i] for i in range(len(w)) if i==0 or w[i-1] != w[i]]
        return len(set(w)) == len(w)
    
    print(sum(map(grouped, [input() for i in range(int(input()))])))

    다른 사람의 풀이에서 grouped()함수가 잘 이해가 되지 않는다

    '알고리즘 공부' 카테고리의 다른 글

    백준 2775번, 리스트의 값 복사  (0) 2022.12.28
    백준 1157번, dictionary 활용, count함수  (2) 2022.12.27
    백준 2941번  (0) 2022.12.08
    백준 1065번  (0) 2022.12.07
    백준 4673번, if문 not in (미해결)  (0) 2022.12.06

    댓글