1316번: 그룹 단어 체커

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

www.acmicpc.net

 

✏️ 내가 작성한 코드 

 

count = int(input())  # 입력 받을 단어 개수
words = []  # 입력 받은 단어들 넣을 배열
group_word_cnt = 0  # 그룹 단어 개수

for _ in range(count): # 단어들 입력 받음
    word = input()
    words.append(word)

for word in words:
    chr_list = [word[0]] # 단어의 각 문자 들어갈 배열, 첫문자 일단 넣어줌
    if len(word) == 1:
        group_word_cnt += 1
    else:
        for i in range(1,len(word)):
            if word[i] == word[i-1]: # 앞 문자랑 같은 경우
                if i == len(word)-1: # 앞 문자랑 같고, 현재 인덱스가 마지막 인덱스라면
                    group_word_cnt += 1 # 그룹단어 해당
                continue # 앞 문자랑 같으면 continue
            else: # 앞 문자랑 같지 않은 경우
                if word[i] in chr_list : # 앞 문자랑 다르고 배열에 있으면 --> 그룹단어아님
                    break
                chr_list.append(word[i]) # 앞 문자랑 다르고 배열에 없으면 배열에 넣어줌
            if i == len(word)-1: # 마지막 인덱스까지 반복문 거쳐서 온 경우
                group_word_cnt += 1 # 그룹단어 해당

print(group_word_cnt)

+ Recent posts