본문으로 건너뛰기

자기 스스로를 호출하는 재귀 함수

자기 스스로를 호출하는 재귀 함수

재귀 함수(Reculsive function)는 함수 내부에서 자기 자신을 호출해 특정 조건(종료 조건)이 충족될 때까지 자신을 반복적으로 호출되는 함수입니다.


재귀 함수 예시

아래 예시는 1부터 인자로 전달한 숫자까지 곱하는 재귀 함수 예시입니다.

팩토리얼 재귀 함수 예시
def factorial(n): # n! = 1 * 2 * 3 * ... * n
if n == 1: # n이 1일 때, 종료 조건
return 1 # 1을 반환하고 재귀 호출을 끝냄
else:
return n * factorial(n - 1) # n과 factorial 함수에 n - 1을 넣어서 반환된 값을 곱함


# 함수 호출
print(factorial(5)) # 120

재귀 함수의 활용

  • 수학적 계산: 팩토리얼, 피보나치 수열(두 수의 합이 다음 수가 되는 수열) 등의 계산에 사용

  • 알고리즘: 데이터 구조를 탐색하고 조작할 때 사용

피보나치 예시
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)


print(fibonacci(5)) # 5