가이드라인

반복문과 재귀 함수 비교

1부터 정해진 숫자까지의 곱을 의미하는 팩토리얼(Factorial)반복문이나 재귀 함수를 활용해 코드로 구현할 수 있습니다.

이번 수업에서는 반복문과 재귀 함수를 사용하여 팩토리얼을 계산하는 방법을 알아보겠습니다.


반복문으로 팩토리얼 구하기

반복문을 활용해 팩토리얼을 구하려면, 아래와 같이 for 문을 사용해 1부터 n까지의 수를 차례로 곱하여 결과를 계산할 수 있습니다.

반복문으로 팩토리얼 구하기
def factorial_iterative(n): result = 1 for i in range(1, n + 1): result *= i return result print(factorial_iterative(5)) # 120

재귀 함수로 팩토리얼 구하기

재귀 함수를 활용해 팩토리얼을 구하려면, 아래와 같이 함수 내부에서 factorial_recursive 자기 자신을 호출하며 팩토리얼을 계산할 수 있습니다.

재귀 함수로 팩토리얼 계산 예시
def factorial_recursive(n): if n == 1: return 1 else: return n * factorial_recursive(n - 1) print(factorial_recursive(5)) # 120

두 방법은 어떻게 다를까요?

반복문과 재귀 함수를 활용해 구현한 팩토리얼의 결과는 동일하지만, 두 방법은 다음과 같은 차이점이 있습니다.

  • 속도: 일반적으로 반복문은 재귀 함수보다 빠릅니다. 재귀 함수는 함수를 내부적으로 계속 호출하기 때문에 반복문보다 느릴 수 있습니다.

  • 메모리 사용: 재귀 함수는 자기 자신을 계속해서 호출하기 때문에 보다 더 많은 메모리를 사용합니다.

재귀 함수는 코드가 간결하고 이해하기 쉬운 장점이 있지만, 반복문보다 성능이 떨어질 수 있으므로 사용 시 주의가 필요합니다.

Mission
0 / 1

일반적으로 재귀 함수는 속도가 빠르고 메모리를 적게 사용한다.

O
X

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과