https://school.programmers.co.kr/learn/courses/30/lessons/87946
피로도
1. 구해야 하는 것
최대 탐험 가능한 던전의 수
2. 1을 구하기 위해 필요한 것
던전 탐험의 우선순위를 구한다?
모든 탐색 경우의 수를 구한다.
- itertools의 permutations
permutations를 사용해서 모든 경우의 수에 대해서 계산해주는 방법
피로도와 비교해서 입장 가능한 던전이라면, 소모피로도를 빼주는 방식으로
각각의 경우에 대해서 몇개의 던전을 갈 수 있는지 계산해서, 가장 많은 던전을 돈 경우의 던전 수를 return해준다
from itertools import permutations as p
def solution(k, dungeons):
answer = 0
for i in p(dungeons, len(dungeons)):
fatigue = k
cnt = 0
for a in i:
if fatigue >= a[0]:
fatigue -= a[1]
cnt += 1
answer = cnt if cnt > answer else answer
return answer
'코딩 테스트 연습' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 카드 뭉치 (0) | 2023.06.18 |
---|---|
[알고리즘] 프로그래머스 - 로또의 최고 순위와 최저 순위 (0) | 2023.06.02 |
20230530 TIL - 알고리즘 (0) | 2023.06.01 |
[알고리즘] 프로그래머스 - 행렬의 곱셈 (0) | 2023.06.01 |
[알고리즘] 프로그래머스 - 대충 만든 자판 (0) | 2023.06.01 |
댓글