🗂️ 문제
링크: https://school.programmers.co.kr/learn/courses/30/lessons/87946
💡 접근법
permutations를 이용하여 dungeons에 접근할 순서를 나타내는 모든 인덱스에 대한 경우의 수를 생성한다.
각각의 경우의 수에서 최대로 탐험할 수 있는 던전의 수를 구해서 max_visit 리스트에 저장한다.
이후 최종적으로 max_visit에서 최댓값을 출력한다.
😎 내 코드
from itertools import permutations
def solution(k, dungeons):
answer = -1
nums = [n for n in range(len(dungeons))]
max_visit = []
for per in permutations(nums, len(nums)):
temp_k = k
visit_cnt = 0
for p in per:
if dungeons[p][0] <= temp_k:
temp_k -= dungeons[p][1]
visit_cnt += 1
else:
break
max_visit.append(visit_cnt)
answer = max(max_visit)
return answer
'Algorithm > Programmers' 카테고리의 다른 글
[그리디] 프로그래머스 Lv2. 구명보트 - Python (1) | 2024.03.26 |
---|---|
[완전탐색] 프로그래머스 Lv2. 모음 사전 - Python (0) | 2024.03.24 |
[완전탐색] 프로그래머스 Lv2. 소수 찾기 - Python (0) | 2024.03.21 |
[완전탐색] 프로그래머스 Lv2. 카펫 - Python (0) | 2024.03.21 |
[완전탐색] 프로그래머스 Lv1. 모의고사 - Python (0) | 2024.03.19 |