본문 바로가기

CodingTest/Programmers

[ 프로그래머스 ] 타켓 넘버 < 다시 풀기 >

/  가져온 풀이  /

 

def solution(numbers, target):
    answer = DFS(numbers, target, 0)
    return answer
def DFS(numbers, target, depth):
    answer = 0
    if depth == len(numbers):
        if sum(numbers) == target:
            return 1
        else:return 0
    else:
        answer += DFS(numbers, target, depth+1)
        numbers[depth] *= -1
        answer += DFS(numbers, target, depth+1)
        
        return answer

 

너무 오랜만에 DFS/BFS문제를 풀려고 하니 머릿 속에 잘 안 들어왔습니다.

해서 다른 분 풀이를 이용해 공부를 하는 식으로 풀어낸 문제입니다.