자기 자신을 리턴하는 재귀함수!

현업에서 쓸 일은 거의 없지만, 코딩 테스트에서 자주 등장한다.

파이썬의 재귀함수에는 한계치(limit)가 있으므로 주의해서 사용한다.

 

기본 형태

def recursive_func():
    print('재귀함수 만세!!!!!!💛')
    return recursive_func()

recursive_func()
 

>>> RecursionError : maximum recursion depth exceeded 어쩌구 발생

^_^... 따라하지 마시오...

 


 

기본 예제 - 팩토리얼 함수 만들기

(1) while 반복문 이용하기

def factorial_while(n):
    i = 1
    answer = 1
    while i <= n:
        answer *= i
        i += 1
    return answer
 

(2) 재귀함수 이용하기

def factorial(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    else:
        return n * factorial(n-1)
 
 

+ Recent posts