ror_coding

[Programmers] 피로도 - 87946 본문

Algorithm/Python

[Programmers] 피로도 - 87946

ro_rdil_31 2024. 12. 4. 14:53
728x90

from itertools import permutations 로 완전 탐색하기!

모든 경우의 수를 다 돌려보며 계산한다.

 

Question

 

이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이 던전들을 최대한 많이 탐험하려 합니다. 유저의 현재 피로도 k와 각 던전별 "최소 필요 피로도", "소모 피로도"가 담긴 2차원 배열 dungeons 가 매개변수로 주어질 때, 유저가 탐험할수 있는 최대 던전 수를 return 하도록 solution 함수를 완성해주세요.

 

 

Code : 순열 사용하여 완전 탐색 (모든 경우의 수 돌림)

 

from itertools import permutations
def solution(k, dungeons):
    max_cnt = 0
    for perm in permutations(dungeons):
        cnt, k2 = 0, k
        for i,j in perm:
            if k2 >= i : k2 -= j; cnt += 1
        if cnt > max_cnt : max_cnt = cnt
        
    return max_cnt

 

now me

On my github

 

728x90