문제
https://school.programmers.co.kr/learn/courses/30/lessons/87946
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
입출력

해설
입력으로 던전의 개수가 최대 8개까지만 나오기 때문에 순열을 이용하여 풀이를 진행하면 된다.
8!이 40320의 경우의 수이기 때문에 파이썬의 permutations 모듈을 이용하여 순열 리스트를 만들고
그 리스트에서 던전을 돌리고 풀이를 진행했다.
정답코드
더보기
'''
'25. 09. 08.(월)
1. 일정 피로도를 사용해서 탐험을 진행할 수 있음.
2. 하루에 한 번씩 탐험 진행
3. 현재 피로도, 최소 필요 피로도, 소모 피로도에 관해서 최대 던전 수를 구하여라.
1 <= k <= 5000
1 <= 던전의 개수 <= 8
8!으로 모든 경우의 수를 돌린다.
'''
from itertools import permutations as per
def solution(k, dungeons):
answer = 0
for comb in per(dungeons):
#comb 순서대로 돌았을 때 얼만큼 돌 수 있는지 확인
inner_k = k
count = 0
for at_least, spend in comb:
if inner_k < at_least:continue
inner_k -= spend
count += 1
answer = max(answer, count)
return answer
깃허브 : https://buly.kr/9tBMRi4
'코딩테스트 > programmers' 카테고리의 다른 글
| 프로그래머스 / 해시 / 전화번호 목록 (0) | 2025.09.20 |
|---|---|
| 프로그래머스 / 구현 / 튜플 (0) | 2025.09.14 |
| 프로그래머스 / 해시 / [1차] 캐시 (0) | 2025.09.04 |
| 프로그래머스 / 구현 / 기능개발 (0) | 2025.09.02 |
| 프로그래머스 / 구현 / 행렬의 곱셈 (0) | 2025.08.31 |