728x90
answer = 0
def DFS(k,count,dungeons,check) :
global answer;
answer = max(answer,count);
for i in range(len(dungeons)) :
# 방문하지 않고 최소 피로도 보다 높을때 방문
if check[i] == 0 and k >= dungeons[i][0] :
# 방문완료
check[i] = 1;
DFS(k-dungeons[i][1],count + 1,dungeons,check);
# 다시 방문해야하기때문에 방문체크 풀기
check[i] = 0;
def solution(k, dungeons):
global answer;
# 방문 했는지 안했는지 체크하는 배열
check = [0] * len(dungeons);
# 탐색 시작
DFS(k,0,dungeons,check)
return answer
풀이 및 회고
완전 탐색 문제로 모든 경우의 수를 순회 한 후 가장많은 count를 가질때 return을 하게 해주었습니다.
728x90
'프로그래머스' 카테고리의 다른 글
프로그래머스 LV1 완주하지 못한 선수 (0) | 2024.06.02 |
---|---|
프로그래머스 LV2 타겟넘버 (1) | 2024.06.02 |
프로그래머스 LV2 프로세스 (0) | 2024.06.01 |
프로그래머스 LV 2 기능개발 (0) | 2024.05.27 |
프로그래머스 LV2 의상 (0) | 2024.05.27 |