프로그래머스/level 2
[프로그래머스] 피로도
binaryJournalist
2022. 8. 6. 13:50
반응형
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
answer = 0 # 답
N = 0 # 던전 개수
visited = [] # 방문처리
def dfs(k, cnt, dungeons):
global answer
if cnt > answer: # 최대 방문 던전 수 경신
answer = cnt
for j in range(N):
# 최소 피로도 조건 충족, 방문하지 않은 던전
if k >= dungeons[j][0] and not visited[j]:
visited[j] = 1
dfs(k - dungeons[j][1], cnt + 1, dungeons)
# 다른 곳부터 시작했을 때 모든 경우의 수를 따짐
visited[j] = 0
def solution(k, dungeons):
global N, visited
N = len(dungeons)
visited = [0] * N
dfs(k, 0, dungeons)
return answer
* 여전히 어려운 dfs
참고: https://hkim-data.tistory.com/65
반응형