numbers
와 target
이 주어졌을 때, numbers
에 속한 숫자들을 더하고 빼서 target
을 만드는 경우의 수를 찾는 문제다.
- 모든 경우의 수를 고려하는 쪽으로 생각했다.
- 값을 저장 및 갱신할 임시 배열을 선언하고,
bfs()
에서 값을 추가해나갔다.
- 모든 값을 고려하고,
target
과 일치하면answer
를 1 증가시키는 방법으로 구현했다.
def solution(numbers, target):
answer = 0
leaves = [0] # 배열선언
for num in numbers:
tmp = []
for parent in leaves:
tmp.append(parent + num)
tmp.append(parent - num)
leaves = tmp
answer = leaves.count(target)
return answer