bfs/dfs 풀이인 이유
numbers가 [1, 1, 1, 1, 1] 일 때,
1은 2나 0이 될 수 있다(1+1=2 or 1-1=0)
현재 tmp: [1, 2, 0] (1은 pop)
다음은 [2, 0, -1, 1] (2를 pop하고 가질 수 있는 값)
이렇게 하나씩 계산해 보면서 target과 스택에 있는 값이 같아지면 answer + 1을 해준다
# bfs
def solution(numbers, target):
answer = 0
stack = [0]
for i in numbers:
tmp = []
for j in stack:
tmp.append(j + i)
tmp.append(j - i)
stack = tmp
for s in stack:
if s == target:
answer += 1
return answer