항해99 TIL
99클럽 코테 스터디 34일차 TIL + DFS
우주로 날아간 사람
2024. 8. 24. 17:46
[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "타겟 넘버" 문제를 풀었다.
- 오늘 주제는 DFS이다.
[나의 코드]
def solution(numbers, target):
answer = 0
def dfs(i, now):
nonlocal answer
if i == len(numbers):
if now == target:
answer += 1
return
add = dfs(i + 1, now + numbers[i])
sub = dfs(i + 1, now - numbers[i])
dfs(0, 0)
return answer
nonlocal은 상위 함수에 변수를 참조한다고 미리 선언하는 것이다.
global 변수 : 일반 함수 내에서 전역 변수를 사용할 때
noncocal 변수 : 중첩 함수 내에서 상위 함수의 변수를 사용할 때
라고 한다.
손으로 트리를 그려보면 왜 저런 코드가 나오게 되는지 이해가 빠르다.
[오늘의 회고]
- 너무 바빠서 이만... 끝!