본문 바로가기

코딩 테스트/백준

[백준 1316번 문제, 파이썬3] 그룹 단어 체커

728x90
반응형

문제


코드

import sys

count = int(sys.stdin.readline())
# 입력된 단어별로 True 값을 가진 딕셔너리를 만듬
words = {sys.stdin.readline().strip(): True for _ in range(count)}

for i in words.keys():
    # 각 단어를 한글자로 쪼개서 딕셔너리를 만듬
    check = {j: True for j in i}
    prev_word = i[0]
    for j in range(len(i)):
        # 연속된 단어가 아니라 떨어진 단어인지 체크
        if prev_word != i[j] and not check[i[j]]:
            words[i] = False
            break

        # 해당 단어는 연속된 단어였다고 체크
        check[i[j]] = False
        prev_word = i[j]

# 연속된 단어의 개수만 출력
print(len([i for i in words.values() if i]))

해결

딕셔너리를 이용해서 연속되는 단어인지 체크한다


참고

링크

 

 

 

728x90
반응형