
프로그래머스 고득점 Kit - 피로도Coding/PS2025. 2. 23. 23:40
Table of Contents
반응형

Problem
https://school.programmers.co.kr/learn/courses/30/parts/12230
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 현재 체력과 각 던전을 탐험하기 위한 [던전 입장에 필요한 피로도, 소모 피로도] 리스트가 주어진다
- 최대한 많은 던전을 탐험하고자 할때, 최대 탐험할 수 있는 던전 수를 반환해라
Input / Output Example
k | dungeons | result |
80 | [[80,20], [50,40], [30,10]] | 3 |
Solution
나의 경우에는 순열과 중첩반복문을 사용해
순열로 접근한다고 해도, dungeons 리스트의 최대 길이가 크지 않아, 시간 제한에 걸리지 않을 것이라 예상했다.
2025년 2월 23일 기준으로, 가장 오래 걸린 테스트케이스의 소요 시간이 38.59ms 였다 .
순열로 모든 던전 입장 경우의 수를 만들어 낸 다음,
해당 경우의 수를 돌며 입장 가능한 던전의 수를 구한다.
그 다음 현재 입장 가능한 던전의 수와 max값을 비교해가며 최대 던전 수를 구한다.
Code
from itertools import permutations
def solution(k, dungeons):
answer = -1
nPr = permutations(dungeons, len(dungeons))
for one in nPr:
hp = k
turn = 0
for dungeon in one:
if hp >= dungeon[0]:
hp -= dungeon[1]
turn += 1
else:
break
answer = max(answer, turn)
return answer
반응형
'Coding > PS' 카테고리의 다른 글
프로그래머스 고득점 Kit - 모음사전 (0) | 2025.03.01 |
---|---|
프로그래머스 고득점 Kit - 전력망을 둘로 나누기 (0) | 2025.02.28 |
프로그래머스 고득점 Kit - 소수 찾기 (1) | 2025.02.03 |
프로그래머스 고득점 Kit - H-Index (0) | 2025.02.03 |
프로그래머스 고득점 Kit - 가장 큰 수 (0) | 2025.02.03 |
@현주씌 :: 현주.로그
소프트웨어학과 현주씌의 일상을 담는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!