[프로그래머스] 타겟 넘버

쏠로몬·2021년 12월 24일
0

접근 방법 : BFS, DFS

방법이 어렴풋이 떠오르긴 했지만 결과적으로는 실패
nonlocal은 정말 새로웠다.. 함수 안에 함수에서 그 상위 지역변수를 어떻게 써야 되는 지 궁금했는데 nonlocal.. 하나 배웠다.

def solution(numbers, target):
    answer = 0
    num_cnt = len(numbers)

    def dfs(result, idx):
        nonlocal answer
        if idx == num_cnt:
            if result == target:
                answer += 1
            return
        else:
            dfs(result + numbers[idx], idx + 1)
            dfs(result - numbers[idx], idx + 1)

    dfs(0, 0)

    return answer
profile
이사가요~ 티스토리 블로그 입니다. https://help-solomon.tistory.com/

0개의 댓글