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