자료구조와 알고리즘/개인적인 코딩테스트 관련 풀이

[완전탐색][재귀함수와 스택] - 재귀함수와 스택

얄루몬 2022. 7. 21. 16:39

재귀함수와 스택

  • 재귀함수가 돌 때 스택을 사용할 수 있는데 이를 어떻게 사용할 것인지를 살펴보자
#재귀함수와 스택

# 3 -> 2 -> 1 출력
def DFS(x):
    if x>0:
        print(x)
        DFS(x-1)


# 1 -> 2 -> 3 출력
def DFS2(x):
    if x>0:
        DFS(x-1)
        print(x)
        
if __name__=="__main__":
    n = int(input())
    DFS(n)

  • 재귀 함수를 사용하면 stack 형태의 메모리에 해당 정보가 올라가게 되고 이때 맨 위에 있는 부분부터 처리를 해 마지막은 해당 재귀함수를 부른 곳에서 끝낸다.