문제 설명
사전에 알파벳 모음 '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
'Programing > 프로그래머스 오답노트' 카테고리의 다른 글
[프로그래머스] 방문 길이 (1) | 2023.10.08 |
---|---|
[프로그래머스] 땅따먹기 - (동적 변화) (0) | 2023.10.08 |
[프로그래머스] 소수 찾기 (0) | 2023.10.08 |
[프로그래머스] 오픈 채팅 (0) | 2023.10.07 |
[프로그래머스] 게임 맵 최단경로 - ( BFS ) (0) | 2023.10.05 |
댓글