알고리즘/문제풀이
[Python] Programmers 위클리 챌린지 5 모음 사전
정찡이
2021. 9. 11. 21:16
728x90
[Python] Programmers 위클리 챌린지 5 모음 사전
1. 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/84512
코딩테스트 연습 - 5주차_모음사전
사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니
programmers.co.kr
2. 문제 요약

3. 아이디어 정리
백트래킹을 이용하여 원하는 단어가 나올 때까지 알파벳을 순서대로 진행한다.
4. 문제 풀이
4-1. 내 풀이
global count
global result
count = 0
result = 0
def dfs(arr, word):
global count
global result
list_ = ['A', 'E', 'I', 'O', 'U']
if arr:
count += 1
if word == "".join(map(str, arr)): # 원하는 단어인 경우, 몇 번째 단어인지 저장
result = count
return
if len(arr) == 5:
return
# 백트래킹을 이용하여 단어를 하나씩 넣어본다.
for a in list_:
arr.append(a)
dfs(arr, word)
arr.pop()
def solution(word):
dfs([], word)
return result
5. 결론
- 백트래킹을 이용하면 되는 문제
반응형