Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

우주에서 글을 적어본다

99클럽 코테 스터디 34일차 TIL + DFS 본문

항해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 변수 : 중첩 함수 내에서 상위 함수의 변수를 사용할 때

라고 한다.

손으로 트리를 그려보면 왜 저런 코드가 나오게 되는지 이해가 빠르다. 

[오늘의 회고]
- 너무 바빠서 이만... 끝!