Menu
Coddy logo textTech

재귀 함수 파트 2

Coddy Python 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 61번째.

재귀 함수는 일반적으로 두 부분으로 구성됩니다:

  1. 기저 사례: 재귀를 중단해야 하는 시점을 정의합니다.
  2. 재귀 단계: 더 작은 입력으로 함수 자체를 호출합니다.

예시: 재귀를 사용하여 팩토리얼 계산하기:

def factorial(n):
    if n == 1:  # 기본 케이스
        return 1
    return n * factorial(n - 1)  # 재귀 호출

print(factorial(5))  # 출력: 120

여기서 함수는 재귀가 중단되는 1에 도달할 때까지 n - 1을 사용해 자신을 계속 호출합니다.

예시: 문자열 뒤집기:

def recursive_reverse(s):
	if len(s) <= 1:  # 기본 사례: 빈 문자열 또는 단일 문자 문자열
		return s
	else:
		return recursive_reverse(s[1:]) + s[0]  # 재귀 단계

text = "hello"
result = recursive_reverse(text)
print(result)
# 출력: olleh

이 예제에서 recursive_reverse 함수는 문자열이 비어 있거나 문자가 하나만 남을 때까지 문자열의 나머지 부분(s[1:])을 사용하여 자기 자신을 호출합니다. 각 호출은 첫 번째 문자를 재귀 호출의 결과에 추가하여 문자열을 효과적으로 뒤집습니다.

challenge icon

챌린지

쉬움

fibonacci라는 재귀 함수를 작성하세요. 이 함수는 양의 정수 n을 인수로 받아 n번째 피보나치 수를 반환해야 합니다. 피보나치 수열은 다음과 같이 정의됩니다:

  • fibonacci(1) = 0
  • fibonacci(2) = 1
  • fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) (단, n > 2)

예제 입력:

n = 6

예제 출력:

5

직접 해보기

def fibonacci(n):
    # 여기에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러