https://pythontutor.com/render.html#mode=display

 

Python Tutor code visualizer: Visualize code in Python, JavaScript, C, C++, and Java

Please wait ... your code is running (up to 10 seconds) Write code in Python 3.6 Java 8 JavaScript ES6 C (gcc 9.3, C17 + GNU extensions) C++ (g++ 9.3, C++20 + GNU extensions) ------ [unsupported] Python 2.7 [unsupported] C (gcc 4.8, C11) [unsupported] C++

pythontutor.com

 

DFS나 DP 문제에서 사용하는 재귀함수의 동작 구성은 너무 머리속으로 그려지지 않는다.

찾아보니 재귀함수를 시각화 시켜주는 사이트가 있었다!

언제 반환되는지, 어떤 값이 들어가는지 잘 보여준다.

아래는 프로그래머스 타겟 넘버를 찾는 코드 중 일부이다!

어떻게 값이 들락날락 거리는지 확인해서 문제를 이해하자!

https://school.programmers.co.kr/learn/courses/30/lessons/43165

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def DFS(numbers, target, L, score, result) :
    print(result)
    if L == len(numbers) :
        if score == target :
            return 
    else :
        result.append(numbers[L])
        DFS(numbers, target, L+1, score + numbers[L], result)
        result.pop()
        result.append(-numbers[L])
        DFS(numbers, target, L+1, score - numbers[L], result)
        result.pop()


result = []
print(DFS([1, 1, 1], 3, 0, 0, result))

'코테풀이 > 코테용 파이썬 문법' 카테고리의 다른 글

BFS, DFS  (0) 2022.07.01
문자열_정규식_정규식패턴  (0) 2022.07.01
문자열_알파벳_한글_숫자_특수문자_구분  (0) 2022.07.01
람다_딕셔너리_튜플_정렬  (0) 2022.07.01
0_사용_import  (0) 2022.07.01
재귀함수, DFS를 시각화로 보여주는 사이트