본문 바로가기
Programing/프로그래머스 오답노트

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

by yooom 2023. 10. 8.
문제 설명
사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.
입출력 예 설명 입출력 예 #1 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA", "AAA", "AAAA", "AAAAA", "AAAAE", ... 와 같습니다. "AAAAE"는 사전에서 6번째 단어입니다. 입출력 예 #2 "AAAE"는 "A", "AA", "AAA", "AAAA", "AAAAA", "AAAAE", "AAAAI", "AAAAO", "AAAAU"의 다음인 10번째 단어입니다. 입출력 예 #3 "I"는 1563번째 단어입니다. 입출력 예 #4 "EIO"는 1189번째 단어입니다.

 

풀이
def solution(word):
    word_list=[]
    words='AEIOU'
    
    def dfs(cnt, w):
        if cnt ==5:
            return
        
        for i in range(len(words)):
            word_list.append(w+words[i])
            dfs(cnt+1,w+words[i])
    dfs(0,'')
    
    return word_list.index(word)+1

def를 함수 안에서도 쓸 수 있다. 이때,  return은 for의 break처럼 함수 종료의 의미로 사용해도 된다 !

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/84512

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90

댓글