L2 : 피로도 Python

jhyunn·2023년 1월 19일
0

Programmers

목록 보기
38/69

L2 : 피로도 Python

https://school.programmers.co.kr/learn/courses/30/lessons/87946

def solution(k, dungeons):
    global answer
    answer = 0
    visited = [0] * len(dungeons)
    
    def dfs(cnt, cur_k):
        global answer
        if answer < cnt: # max_answer 업데이트
            answer = cnt
        for i, (a, b) in enumerate(dungeons):
            if cur_k >= a and cur_k >= b and visited[i]==0:
                visited[i] = 1
                dfs(cnt+1, cur_k-b)
                visited[i] = 0

    dfs(0, k)
    return answer

permutation으로 모든 경우의 수를 구해서 진행해도 된다.

#DFS #깊이우선탐색

profile
https://github.com/Sungjeonghyun

0개의 댓글