문제
https://school.programmers.co.kr/learn/courses/30/lessons/43165
풀이
https://github.com/nowChae/algorithm/blob/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/43165.%E2%80%85%ED%83%80%EA%B2%9F%E2%80%85%EB%84%98%EB%B2%84/%ED%83%80%EA%B2%9F%E2%80%85%EB%84%98%EB%B2%84.py
어떻게 풀어야 할 지는 생각해냈지만 구현을 하지 못해서 구글링을 통해 해결했다. DFS, BFS를 사용하여 문제를 풀려고 하니 더 어려웠고, 이진 트리 형태를 생각하며 기준이 되는 노드를 갱신하는 식으로 구현하였다.

너무 많은 풀이들이 나와있어서 그 중 가장 이해가 쉬웠던 코드를 분석했다.

내가 스스로 생각해내서 구현해 낸 코드가 아니라서 다음에 한 번 더 다른 방식으로 이 문제를 풀어보려고한다.
또한 이진 트리에 대한 추가적인 공부와 이진 트리를 DFS, BFS로 접근하는 방법을 공부해보면 좋을 것 같다고 생각했다.
def solution(numbers, target):
answer = 0
nodes = [0]
for n in numbers:
cur = []
for d in nodes:
cur.append(d+n)
cur.append(d-n)
nodes = cur
for r in nodes:
if r == target:
answer += 1
return answer