Computer Science/Coding Test
프로그래머스: 타겟 넘버
focalpoint
2021. 10. 31. 13:58
완전탐색이다.
어떻게 구현하냐가 핵심인데, 모든 숫자를 다 사용한다는 점을 이용하면, O(2**N)으로 풀 수 있다.
answer = 0
def solution(numbers, target):
global answer
dfs(numbers, target)
return answer
def dfs(numbers, target):
if not numbers:
if target == 0:
global answer
answer += 1
return
number = numbers[0]
dfs(numbers[1:], target-number)
dfs(numbers[1:], target+number)