[BOJ][Python]그룹 단어 체커 #1316

MEIN_FIGUR·2021년 8월 20일
0

백준_문제풀이

목록 보기
16/21

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

📌풀이


내가 쓴 풀이(성공)

  • 그룹 단어를 확인하기 위한 함수 check 생성
    • 글자를 key로 하는 딕셔너리를 만들어 그룹 단어 판단
    • value 값이 0보다 큰데, 이전 글자와 다른 글자가 나타나는 경우, False
from collections import defaultdict

# 그룹 단어 판단
def check(word):
    dic = defaultdict(int)
    prev = word[0]
    for w in word:
        # 이미 딕셔너리에 값이 있는데 이전 글자와 다른 글자가 나타나는 경우
        if dic[w] and prev != w:
            return False
        # 딕셔너리에 값이 없는 경우
        # 글자가 연속적으로 나타나는 경우
        else :
            dic[w] += 1
        prev = w
    return True
    
T = int(input())
res = 0
for tc in range(1, T+1):
    word = input()
    
    if check(word):
        res += 1
print(res)



📌후기


그룹 단어를 체크하는 과정에서의 조건을 판단하는 과정이 조금 헷갈렸다. 처음에는 값이 존재하는 경우와 존재하지 않는 경우로 나눠도 된다고 생각하였으나, 같은 글자가 연속적으로 나타나는 경우 오류가 발생하는 점을 확인하여 이전 글자를 확인하는 변수를 통해 코드를 개선하였다.

profile
Growing Developer

0개의 댓글