코테 준비/프로그래머스

[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

'코테 준비 > 프로그래머스' 카테고리의 다른 글

[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