문제
https://school.programmers.co.kr/learn/courses/30/lessons/84512
설계
- 다른 사람들은 중복순열로 풀었지만 알파벳이 5개밖에 되지 않아 dfs로 풀었다.
cnt, answer = 0, 0 # 전역변수 선언
def dfs(level, arr, word2):
global cnt, answer
data = ['A', 'E', 'I', 'O', 'U']
if arr == word2:
answer = cnt
return
if level == 5: # 길이 5가 되면 return
return
for i in range(5):
arr.append(data[i])
cnt += 1 # 다음 dfs 들어가기 전에 카운트
dfs(level + 1, arr, word2)
arr.pop()
def solution(word):
word2 = list(word)
dfs(0, [], word2)
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 불길한 수열 (불행한 수)(Unlucky Number) (0) | 2022.12.12 |
---|---|
[프로그래머스] 귤 고르기 (0) | 2022.12.11 |
[프로그래머스] 주식가격 - 자바스크립트, 파이썬 (0) | 2022.12.09 |
[프로그래머스] 프린터 (0) | 2022.11.22 |
[프로그래머스] 멀리 뛰기 (0) | 2022.11.10 |