https://programmers.co.kr/learn/courses/30/lessons/84512
사전 규칙에 따라 알고리즘으로 구현하여 풀었다.
풀기 전에 itertools의 product를 떠올리긴 했는데 아직 익숙하지 않아서 그 방식으론 풀지 못했다.
나의 풀이
def change(vowel):
next = {'A':'E','E':'I','I':'O','O':'U'}
last_word = vowel[-1]
if last_word =='U':
return change(vowel[:-1])
else : return vowel[:-1] + next[last_word]
def solution(word):
vowel_dict = ['start']
vowel = ''
while vowel !='UUUUU':
if len(vowel) != 5:
vowel += 'A'
else:
vowel = change(vowel)
vowel_dict.append(vowel)
return vowel_dict.index(word)
Product를 활용한 풀이
이번 기회에 확실히 어떻게 쓰는지 알게 되었다.
from itertools import product
solution = lambda word: sorted(["".join(c) for i in range(5) for c in product("AEIOU", repeat=i+1)]).index(word) + 1
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 점프와 순간 이동(Python) (0) | 2021.11.03 |
---|---|
[프로그래머스] 캐시 (Python) (0) | 2021.11.03 |
[프로그래머스] 전력망을 둘로 나누기 (Python) (0) | 2021.11.03 |
[프로그래머스] 교점에 별 만들기 (Python) (0) | 2021.11.03 |
[프로그래머스] 영어 끝말잇기 (Python) (0) | 2021.11.02 |
댓글