Programming/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

230221 [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํƒ€๊ฒŸ ๋„˜๋ฒ„]

ํ•ด๋“œ์œ„๊ทธ 2023. 9. 2. 17:05
๋ฐ˜์‘ํ˜•

์žฌ๊ท€๋ฅผ ์ด์šฉํ•œ 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
๋ฐ˜์‘ํ˜•