[프로그래머스] 모음 사전

출처: 프로그래머스 코딩 테스트 연습, [프로그래머스] 모음 사전

풀이

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

느낀점

다른 사람 풀이에는 각 자리수에 어떤 모음이 올 때의 공식을 사용하여 탐색을 하지 않고 바로 반환한 풀이가 많았다. 단어의 수가 굉장히 클 경우는 공식을 도출해내어 풀어야겠다. 머리로 공식을 생각할 생각하지말고 메모장이나 종이에 써보면서 생각해야겠다.

좋은 웹페이지 즐겨찾기