반응형
import sys
sys.setrecursionlimit(100000)
def dfs(target,numbers,visited,idx,cnt):
    answer = 0

    if not(False in visited): # 전부 방문하였을때,
        if cnt == target:
            return 1
        return 0
    if visited[idx] == False:
        visited[idx] = True
        answer += dfs(target,numbers,visited,idx+1,cnt + (numbers[idx] * -1))
        answer += dfs(target,numbers,visited,idx+1,cnt+ (numbers[idx]))
        visited[idx] = False

    return answer


def solution(numbers, target):

    visited = [False for _ in range(len(numbers))]
    answer = dfs(target,numbers,visited,idx=0,cnt=0)
    return answer
반응형

'IT 인터넷 > 프로그래머스' 카테고리의 다른 글

미친로봇  (0) 2023.01.15
개똥벌레  (0) 2023.01.15
최소직사각형  (0) 2023.01.09
입국심사  (0) 2023.01.09
모음사전  (0) 2023.01.09

+ Recent posts