반복문과 재귀 함수 비교
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 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과