블로그 이름 뭐로 하지

[알고리즘] 프로그래머스 - 피로도 본문

알고리즘

[알고리즘] 프로그래머스 - 피로도

발등이 따뜻한 사람 2024. 1. 6. 21:26

문제

https://school.programmers.co.kr/learn/courses/30/lessons/87946

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

완전 간단한 구현 문제다. 일반적으로 파이썬 내장 조합이나 순열 사용하면 시간초과가 터지는 경우가 많은데 이건 그냥 쉬운 문제여서 그런가... 

탐험할 수 있는 모든 던전 탐험 순열을 찾아서 하나하나 탐험해보고 가장 많이 탐험할 수 있는 경우를 출력했다.

 

코드

from itertools import permutations

def solution(k, dungeons):
    dun_num = len(dungeons)
    answer = 0
    
    for permut in permutations(dungeons, dun_num):
        hp = k
        count = 0
        for pm in permut:
            if hp >= pm[0]:
                hp -= pm[1]
                count += 1
        if count > answer:
            answer = count
    
    return answer