# https://programmers.co.kr/learn/courses/30/lessons/84512 import sys sys.setrecursionlimit(10**6) def solution(word): global cnt global answer answer = 0 cnt = 0 alphabets = ['A', 'E', 'I', 'O', 'U'] visited = set([]) def dfs(cur): global cnt global answer visited.add(cur) cnt += 1 if cur == word: answer = cnt return if len(cur) >= 5: return for alphabet in alphabets: _next = cur + alphabet if _next not in visited: dfs(_next) for alphabet in alphabets: dfs(alphabet) return answer