문제
접근
완전 탐색밖에 방법이 없는 것 같다.
각 숫자를 더하는 경우와 빼는 경우 두가지를 모두 확인해주면 된다.
코드
- 파이썬 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def solution(numbers, target):
answer = bf(numbers, 0, target, 0)
return answer
def bf(numbers, idx, target, sumNum):
if idx == len(numbers):
if sumNum == target:
return 1
else:
return 0
ans = 0
ans += bf(numbers, idx+1, target, sumNum+numbers[idx])
ans += bf(numbers, idx+1, target, sumNum-numbers[idx])
return ans