많은 사람들이 재귀를 사용해서 문제를 풀었지만 재귀보다는 deque을 이용해서 풀고 싶어서 dequed을 사용한 풀이를 찾아 보았음.
🔗풀이 참고
프로그래머스-타겟넘버 질문하기를 참고하였습니다.
rom collections import deque
def solution(numbers, target):
answer = 0
queue = deque([(0, 0)]) # sum, level
while queue:
s, l = queue.popleft()
if l > len(numbers):
break
elif l == len(numbers) and s == target:
answer += 1
queue.append((s+numbers[l-1], l+1))
queue.append((s-numbers[l-1], l+1))
return answer
🔗프로그래머스 - 타겟 넘버
https://programmers.co.kr/learn/courses/30/lessons/43165