프로그래밍 공부/프로그래머스
[Python] 피로도
오구.cpp
2023. 1. 3. 21:59
반응형
[코딩테스트 고득점 KIT - 완전탐색]
순열을 이용하여 모든 피로도 소모 경우의 수를 계산해준다.
소모되어 줄어든 피로도를 HP 변수에 담으며,
남은 피로도인 HP가 탐험할 던전의 "최소 필요 피로도" 보다 높으면 피로도를 소모하여 탐험한다.
탐험 후 HP에서 소모한 피로도만큼 줄여준다.
끝
from itertools import permutations
def solution(k, dungeons):
answer = 0
## permutations 순열 라이브러리
for dungeon in list(permutations(dungeons,len(dungeons))):
# 탐험한 던전의 수
result = 0
# 남은 피로도
HP = k
for root in dungeon:
# 요구사항
if root[0] <= HP:
result += 1
HP -= root[1]
# 결과
if answer < result:
answer = result
return answer
반응형