본문 바로가기
PS/programmers

[programmers] 프로그래머스 위클리 챌린지 : 피로도

by clolee 2021. 12. 21.

프로그래머스 위클리 챌린지 : 피로도

 

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

 

 

코드 

 

완전탐색

가능한 경우의 수 만큼 던전을 차례로 탐험하며 탐험할 수 있는 던전 수를 이전의 값과 비교해 탐험할 수 있는 최대 던전 수를 갱신한다.

그리고 탐험할 수 있는 최대 던전 수를 출력한다.

 

answer = -1
def backtracking(k, dungeons, count, is_used):
    global answer
    if count > answer:
        answer = count
    now = k
    for i in range(len(dungeons)):
        if not is_used[i]:
            if now >= dungeons[i][0]:
                now = now - dungeons[i][1]
                is_used[i] = True
                count += 1
                backtracking(now, dungeons, count, is_used)
                now = now + dungeons[i][1]
                is_used[i] = False
                count -= 1


def solution(k, dungeons):
    global answer
    is_used = [False] * 8
    count = 0
    backtracking(k, dungeons, count, is_used)

    return answer

댓글