https://school.programmers.co.kr/learn/courses/30/lessons/84512
1. 해결방법
완전탐색 문제는 항상 dfs로 풀었다.
모음이 5개가 되면 return 해주는 방식으로 재귀를 돌렸다.
물론 aeiou를 순서대로 문자열에 더하면서 재귀를 돌리는 방식이라 리턴이 되더라도 마지막에 더해진 문자열은 영향을 받지 않는 다는 특성을 이용한 것이다.
경험이 너무 적다보니 이렇게 쉬운 문제도 많이 헤맸다. 아직 많이 부족하다...
2. 정답코드
def solution(word):
answer = 0
alpha = ['A', 'E', 'I', 'O', 'U']
s = ''
result = []
def dfs(s, alpha):
nonlocal answer
if len(s) == 5:
return
for a in alpha:
p = s + a
answer += 1
if p == word:
result.append(answer)
break
dfs(p, alpha)
dfs(s, alpha)
return result[0]
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 소수 찾기 (1) | 2022.10.03 |
---|---|
[프로그래머스] Lv.2 2개 이하로 다른 비트 (0) | 2022.09.30 |
[프로그래머스] Lv.2 방문 길이 (0) | 2022.09.29 |
[프로그래머스] Lv.2 땅따먹기 (0) | 2022.09.28 |
[프로그래머스] Lv.2 피로도 (0) | 2022.09.28 |