https://school.programmers.co.kr/learn/courses/30/lessons/84512
def solution(word):
chars = ['A', 'E', 'I', 'O', 'U']
idx = [-1]
answer = [0]
def dfs(path):
if len(path) > 5:
return
idx[0] += 1
if path == word:
answer[0] = idx[0]
for char in chars:
dfs(path + char)
dfs('')
return answer[0]
기존 dfs문제들 에서는 파라미터로 dfs(path, idx)
구조를 사용했다면, 이 문제에서는 전역 변수의 역할을 수행하는 변수 idx[0]
을 사용했기 때문에 path
파라미터만 가지면 된다.
전역변수인 idx[0]
을 사용한 이유는 카운트 인덱스를 함수의 인자로 사용할 경우 값이 계속하여 증가할 수 없기 때문이다.