https://school.programmers.co.kr/learn/courses/30/lessons/87946
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
def solution(k, dungeons):
global ans
ans = 0 # 최대 탐험 가능한 던전 수 = 정답
def back(visited, piro, cnt):
global ans
ans = max(ans, cnt) # 최댓값 갱신
for i in range(len(dungeons)): # 모든 dungeons 순회
if not visited[i] and dungeons[i][0] <= piro: # 첫 방문+피로도 조건 만족할 시
visited[i] = 1 # 방문처리
back(visited, piro - dungeons[i][1], cnt + 1) # cnt 1 더해서 재귀로 보내기
visited[i] = 0 # 미방문처리해서 재사용
visited = [0] * len(dungeons) # 방문 여부를 기록
back(visited, k, 0) # 빈 방문 배열을 넣고 시작
return ans
'프로그래머스' 카테고리의 다른 글
[Python/파이썬]프로그래머스 43162. 네트워크 (0) | 2025.01.19 |
---|---|
[Python/파이썬]프로그래머스 86491. 최소직사각형 (0) | 2025.01.18 |
프로그래머스 43163. 단어 변환 (0) | 2025.01.17 |
프로그래머스 1844. 게임 맵 최단거리 (0) | 2025.01.17 |
프로그래머스 43165. 타겟 넘버 (0) | 2025.01.15 |