728x90
나의 풀이
from itertools import permutations
def solution(k, dungeons):
answer = 0
for order in permutations([i for i in range(len(dungeons))], len(dungeons)):
hp = k
count = 0
for i in order:
if dungeons[i][0] <= hp:
count += 1
hp -= dungeons[i][1]
else:
break
answer = max(answer, count)
return answer
짧은 풀이
solution = lambda k, d: max([solution(k - u, d[:i] + d[i+1:]) + 1 for i, (m, u) in enumerate(d) if k >= m] or [0])
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/파이썬] 2개 이하로 다른 비트 (0) | 2022.06.16 |
---|---|
[프로그래머스/파이썬] [1차] 프렌즈4블록 (0) | 2022.06.16 |
[프로그래머스/파이썬] 2 x n 타일링 (0) | 2022.06.16 |
[프로그래머스/파이썬] 배달 (0) | 2022.06.16 |
[프로그래머스/파이썬] 괄호 회전하기 (0) | 2022.06.16 |