from itertools import permutations as perm
def solution(k, dungeons):
answer = 0
for order in list(perm(dungeons, len(dungeons))):
answer = max(answer, enter_dungeons(order, k))
if answer == len(dungeons):
break
return answer
def enter_dungeons(arr, now):
enter = 0
for require, use in arr:
if require <= now:
now -= use
enter += 1
return enter
풀이
1. 각 던전의 순서(permutations를 이용)를 모두 구한다.
2. 각 순서마다 enter_dungeons (앞에서부터 던전을 통과하면서 총 통과 가능한 던전 개수 반환)
3. anwer를 최댓값으로 업데이트
4. anwer가 던전의 개수와 같아진다면 break
5. anwer 반환
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv2 - 삼각 달팽이 (파이썬) (0) | 2022.04.11 |
---|---|
[프로그래머스] Lv2 - 2개 이하로 다른 비트 (파이썬) (0) | 2022.04.06 |
[프로그래머스] Lv2 - 배달 (파이썬) (0) | 2022.04.05 |
[프로그래머스] Lv2 - 괄호 회전하기 (파이썬) (0) | 2022.04.05 |
[프로그래머스] Lv2 - 순위 검색 (파이썬) (0) | 2022.04.05 |