코테 준비/프로그래머스
[level 2] 피로도
쿠쿠*_*
2023. 5. 13. 14:29
https://school.programmers.co.kr/learn/courses/30/lessons/87946
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
제목이 가장 눈에 확 띄었다! ㅋㅋㅋㅋ 완전 탐색 문제라고 한다. 문제설명을 보 던전을 탐험하기 위해 '최소 필요 피로도'와 '소모 피로도'가 필요하며 이를 계산하는 문제임을 알 수 있었다.예를 들어 "최소 필요 피로도"가 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