https://school.programmers.co.kr/learn/courses/30/lessons/87946
import copy
from itertools import permutations
def solution(k, dungeons):
answer = ''
dungeons_per = list(permutations(dungeons,len(dungeons)))
max_cnt = 0
for i in dungeons_per:
cnt=0
p = copy.deepcopy(k)
for j in i:
if p>=j[0]:
p = p-j[1]
cnt +=1
if cnt >= max_cnt:
max_cnt = cnt
answer = max_cnt
return answer
보통이라면 순열로 돌리면 시간초과가 날 수도있지만
던전의 갯수가 작은 것을 보고 모든 순열을 구해서 반복해주었다.