from collections import deque
def solution(k, dungeons):
answer = -1
dq=deque()
visit=[0]*len(dungeons)
dq.append([k, visit, 0])
visit_len=len(visit)
while dq:
left, visits, cnt=dq.popleft()
if not(0 in visits):
answer=max(cnt, answer)
continue
for i in range(visit_len):
if visits[i]==1:
continue
visits_copy=visits.copy()
visits_copy[i]=1
if left>=dungeons[i][0]:
dq.append([left-dungeons[i][1], visits_copy, cnt+1])
else:
dq.append([left, visits_copy, cnt])
return answer
나는 항상 완전탐색을 하게 되면 재귀함수를 이용하지않고 deque만 사용한다.
다음에는 재귀함수를 이용하여 문제를 풀어보자.