상상쓰

[프로그래머스] 12주차_피로도 본문

Coding Test

[프로그래머스] 12주차_피로도

상상쓰 2021. 10. 25. 13:40

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

 

코딩테스트 연습 - 12주차

XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던

programmers.co.kr

 

위클리 챌린지 마지막 12주차 문제이다.

 

permutations 를 이용하여 던전을 탐험하는 순서에 대한 모든 경우의 수를 구하여 경우마다 탐험할 수 있는 던전의 수를 구한다. 최댓값을 반환하면 된다.

 

from itertools import permutations

def solution(k, dungeons):
    answer = 0
    
    for condition in permutations([i for i in range(len(dungeons))]):
        kTemp, ansTemp = k, 0
        
        for index in condition:
            minimumRequired, consumption = dungeons[index]
            
            if kTemp >= minimumRequired:
                kTemp -= consumption
                ansTemp += 1
        
        answer = max(answer, ansTemp)

    return answer

print(solution(80, [[80, 20], [50, 40], [30, 10]])) # 3

'Coding Test' 카테고리의 다른 글

[백준] 괄호의 값  (0) 2021.10.27
[백준] 연산자 끼워넣기  (0) 2021.10.26
[프로그래머스] 내적  (0) 2021.10.22
[프로그래머스] 공 이동 시뮬레이션  (0) 2021.10.21
[프로그래머스] 11주차_아이템 줍기  (2) 2021.10.20
Comments