728x90
😉 아이디어
1. _!A ~ UUUUU!_까지의 DFS 실행
2. 중간에 목표로 하는 단어와 일치하는 경우 count 횟수 저장
😉 풀이
cnt = 0
saved = 99_999
def dfs(word, ws, result):
global cnt
global saved
if 1 <= len(result):
cnt += 1
if "".join(result) == word:
saved = min(cnt, saved)
return
for i in range(len(ws)):
if len(result) == 5:
continue
copy_result = result.copy()
copy_result.append(ws[i])
dfs(word, ws, copy_result)
copy_result.remove(ws[i])
def solution(word):
global cnt
answer = 0
ws = ['A', 'E', 'I', 'O', 'U']
dfs(word, ws, [])
return saved
✔️ 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/84512#