728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/43165
def solution(numbers, target):
cnt=0
def dfs(idx, sum):
if idx==len(numbers):
if(sum==target):
nonlocal cnt
cnt+=1
return
else:
dfs(idx+1, sum+ numbers[idx])
dfs(idx+1, sum- numbers[idx])
dfs(0,0)
return cnt
DFS란 깊이우탐색으로, 스택을 사용!
재귀문/visited확인 을 사용. 노드를 방문하는 문제일 때 사용하자
함수안에 함수가 선언되었고, 참조하기 위해 nonlocal선언했다.
https://pudingcoding.tistory.com/36
nonlocal에 대한 설명
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 숫자 변환하기 파이썬 lv2 (0) | 2023.06.24 |
---|---|
[프로그래머스] 요격 시스템 lv2 (0) | 2023.06.24 |
[프로그래머스] 연속된 부분 수열의 합 (0) | 2023.06.23 |
[프로그래머스] 공원 산책 lv1 파이썬 풀이 (0) | 2023.06.23 |
혼자 놀기의 달인 파이썬 풀이 (0) | 2023.06.21 |