출처: 프로그래머스 코딩 테스트 연습, [프로그래머스] 모음 사전
1. ['A', 'E', 'I', 'O', 'U']
순서대로 깊이우선탐색을 하였다.
2. 길이가 5가 될 때 탐색을 멈춘다.
3. 모든 단어의 수가 적기 때문에 이진 탐색하지 않고 첫번째부터 찾는 단어와 같은지 확인하면서 같을 때 바로 답을 반환해준다.
def solution(word):
words = []
def make_word(w):
if len(w) == 5:
return
for alp in ['A', 'E', 'I', 'O', 'U']:
new = w + alp
words.append(new)
make_word(new)
make_word('')
for i in range(len(words)):
if words[i] == word:
return i + 1
다른 사람 풀이에는 각 자리수에 어떤 모음이 올 때의 공식을 사용하여 탐색을 하지 않고 바로 반환한 풀이가 많았다. 단어의 수가 굉장히 클 경우는 공식을 도출해내어 풀어야겠다. 머리로 공식을 생각할 생각하지말고 메모장이나 종이에 써보면서 생각해야겠다.