알고리즘/프로그래머스
[Python] 프로그래머스: 위클리 12 피로도
soheeeeP
2021. 10. 26. 21:46
코딩테스트 연습 - 피로도
XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던
programmers.co.kr
def solution(k, dungeons):
answer = 0
dungeons.sort(key=lambda x: (x[0] - x[1], -x[1], x[0]), reverse=True)
value = k
for d in dungeons:
if value >= d[0]:
value -= d[1]
answer += 1
return answer
def dfs(k, dungeons, visited, cnt, answer):
for i in range(len(dungeons)):
if visited[i] != 1 and dungeons[i][0] <= k:
visited[i] = 1
answer = dfs(k - dungeons[i][1], dungeons, visited, cnt + 1, answer)
visited[i] = 0
answer = max(answer, cnt)
return answer
def solution(k, dungeons):
visited = [0 for i in range(len(dungeons))]
value = dfs(k, dungeons, visited, 0, 0)
print(value)
return value