https://school.programmers.co.kr/learn/courses/30/lessons/87946
제목이 가장 눈에 확 띄었다! ㅋㅋㅋㅋ 완전 탐색 문제라고 한다. 문제설명을 보 던전을 탐험하기 위해 '최소 필요 피로도'와 '소모 피로도'가 필요하며 이를 계산하는 문제임을 알 수 있었다.예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모된다.
느낌이 combinations을 활용해서 순서들의 모음을 찾은다음에 그 안에서 탐험할수 있는 최대 던전수를 append시켜서 가장 max값을 찾으면 될 것 같다.
import itertools
def solution(k, dungeons):
answer = 0
gather=itertools.permutations(dungeons,len(dungeons))
#print(list(gather))
for p in gather:
tmp=k
cnt=0
for need,spend in p:
if tmp>=need:
tmp-=spend
cnt+=1
answer=max(answer,cnt)
return answer
'코테 준비 > 프로그래머스' 카테고리의 다른 글
[level 2] 택배상자 (0) | 2023.05.23 |
---|---|
[level 2] k진수에서 소수 개수 구하기 (1) | 2023.05.14 |
[level 2] n^2 배열 자르기 (0) | 2023.05.13 |
[level 1] 대충 만든 자판 (0) | 2023.05.10 |
[level 1] 덧칠하기 (0) | 2023.05.10 |