Programmers

[프로그래머스 / 파이썬 풀이] 피로도

Hoo_Dev 2023. 1. 5. 10:44
from itertools import permutations

def solution(k, dungeons):
    answer = -1
    per_dg = permutations(dungeons, len(dungeons))
    for i in per_dg:
        piro = k
        cnt = 0
        for j in i:
            if piro >= j[0] and piro-j[1] >= 0:
                piro -= j[1]
                cnt += 1
            else:
                break
        if answer < cnt:
            answer = cnt
                
    return answer

각 던전들의 모든 경우의 수를 생각한 순열 배열을 만든 후, 모든 경우 중 최대 던전을 돈 횟수를 출력한다.

(처음에 permutations(dungeons, len(dungeons) 에서 len(dungeons)를 안하고 3을 집어 넣는 바보같은 실수를 했다. 이런 실수는 하지 않도록 하자 ㅜㅜ )