https://school.programmers.co.kr/learn/courses/30/lessons/87946
input :
output :
조건 :
visit[i]의 값이 1이면 방문을 한 것, 아니면 0이다.temp 변수를 통하여 몇 개의 던전을 방문했는지 저장을 할 거다.did 변수를 통해 방문한 던전의 수를 기록해 나가자. 0으로 만들어서 나중에 다른 던전 방문을 먼저 하는 루트에서도 연산이 가능케 해야 한다.def solution(k, dungeons):
    def dfs(data, visit, fatigue, did):
        temp = did
        
        for i in range(len(data)):
            if visit[i] == 1:
                continue
                
            need, spend = data[i]
            if fatigue >= need:
                visit[i] = 1
                temp = max(temp, dfs(data, visit, fatigue - spend, did + 1))
                visit[i] = 0
        return temp
    
    visit = dict()
    for i in range(len(dungeons)):
        visit[i] = 0
    return dfs(dungeons, visit, k, 0)
좋은 글 감사합니다. 자주 올게요 :)