PROGRAMMERS
[프로그래머스/파이썬] 옹알이 (1)
kode-daks
2025. 2. 9. 23:33
내 풀이
from collections import deque
def solution(babbling):
answer = 0
capable = ["aya", "ye", "woo", "ma"] # 조카가 말할 수 있는 단어
alpha = ["a", "e", "m", "o", "w", "y"] # 말할 수 있는 단어를 구성하는 알파벳
for bbl in babbling:
# 단어마다 초기화
word = deque() # 글자를 쌓아가는 큐
good = True # 가능한 단어였는지
# 글자를 하나씩 큐에 넣으면서,
for w in bbl:
# 가능한 알파벳이 아니면 불가능한 단어임을 표시하고 끝
if w not in alpha:
good = False
break
# 가능한 알파벳이면 글자를 쌓고
word.append(w)
if "".join(word) in capable: # 합쳤을 때 가능한 단어에 있으면 비워줌
word = deque()
# 모든 글자를 다 돌았을 때 비워지지 않았다면
# 불가능한 단어가 남아 있음을 의미하며
# 비어 있더라도 불가능한 알파벳이 처음부터 나오면 비어 있을 수 있으므로
# 비어 있고, 가능한 단어들만 나왔을 때 카운트를 함
if not word and good:
answer += 1
return answer
메모
주중 1일 1코테 챌린지(?)를 미루다가 미션 해결용으로 급하게 푼 것이라 깔끔한 코드일지는 모르겠다.
시간 내서 다른 코드도 봐야겠다.