def my_factorial(n):
    if(n > 1):
        return n * my_factorial(n - 1)
    else:
        return 1

팩토리얼 함수 코드




def dfs(x):
    global check
    check[x] = True
    for y in a[x]:
        if check[y] == False:
            dfs(y)

간선 찾기 할 때,  dfs 코드








둘다 재귀를 사용해서 함수 작성한건데

팩토리얼 코드에서

 return n * my_factorial(n - 1)

에서 return을 없애고 그냥 n * my_factorial(n - 1)

이렇게만 쓰면 오류나고


dfs코드에서 마지막줄에 dfs(y)

여기에 return 붙여서

return dfs(y)

이렇게 쓰면 오류남


똑같은 재귀인데 왜 어떤건 return 붙이면 오류나고 어떤건 안붙이면 오류나는지 ㅈㄴ이해 안가..


return이 함수 종료를 명시적으로 나타내는건 알고있는데 그 이상 다른 뜻이 있는거야?ㅜ