728x90
📌 문제
https://programmers.co.kr/learn/courses/30/lessons/87946
📌 문제 접근 방법
- 던전의 개수가 8개 이하이므로 완전탐색을 사용해도 되겠다고 판단하였다.
- permutations를 사용하여 던전을 들어가는 순서의 조합을 모두 만든 후, 각각의 조합을 차례대로 순회하며 입장할 수 있는 던전의 개수를 세었다.
- 개수를 다 세고 answer를 최대값으로 갱신하고, 반복문이 끝난 뒤 answer에 저장된 값을 반환하였다.
📌 코드
from itertools import permutations
def solution(k, dungeons):
answer = 0
for perm in permutations(dungeons, len(dungeons)):
stack = list(perm)
hp = k
cnt = 0
while stack:
need, use = stack.pop()
if hp >= need:
hp -= use
cnt += 1
answer = max(answer, cnt)
return answer
728x90
댓글