본문 바로가기

Programming/Programmers

[프로그래머스/Python] 타겟넘버(DFS)

전형적인 DFS 문제다. 그나저나 전역변수 쓰는법 몰라서 오래 걸렸다.

 

answer = 0
def dfs(numbers, target, cnt, num):
    global answer
    if cnt == len(numbers):
        if num == target: 
            answer+=1
        return
        
    dfs(numbers,target,cnt+1,num+numbers[cnt])
    dfs(numbers,target,cnt+1,num-numbers[cnt])
    
    return 

def solution(numbers, target):
    global answer
    dfs(numbers, target, 0, 0)
    
    return answer