ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

์žฌ๊ท€๋ฅผ ์ด์šฉํ•œ DFS๋กœ ํ’€์—ˆ๋Š”๋ฐ ํ˜ธ์ถœ ๋ถ€๋ถ„์ด ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๋จ ใ…œ

๋‹ค์‹œ ๋ด์•ผ๊ฒ ์Œ

import sys
sys.setrecursionlimit(1000000)

def solution(numbers, target):
    n = len(numbers)
    cnt = 0
    
    def DFS(index, sum):
        if index == n:
            if sum == target:
                nonlocal cnt
                cnt+=1
            return
        else:
            DFS(index+1, sum+numbers[index])
            DFS(index+1, sum-numbers[index])
    
    DFS(0,0)
    
    return cnt
๋ฐ˜์‘ํ˜•