시작하기무료로 시작하기

함수 호출 횟수 계산하기

재귀의 고전적인 예인 피보나치 수열을 살펴보겠습니다. 0부터 시작하는 음이 아닌 정수로 구성되며, 각 원소 $F(n)$은 바로 앞의 두 원소의 합입니다: 0, 1, 1, 2, 3, 5, 8, 13, 21, .... 아래 함수는 수열의 $n$번째 원소와 그 값을 구하는 데 사용된 fib() 호출 횟수를 튜플로 반환합니다:

def fib(n):

  if n < 2:
    return (n, 1)

  fib1 = fib(n-1)
  fib2 = fib(n-2)

  return (fib1[0] + fib2[0], fib1[1] + fib2[1] + 1)

수열의 \(15^{th}\) 원소와 \(20^{th}\) 원소를 계산하는 데 fib() 호출이 각각 몇 번 필요할까요?

이 연습은 강의의 일부입니다

Python으로 코딩 인터뷰 문제 연습하기

강의 보기

실습형 인터랙티브 연습문제

이론을 실습으로 바꾸는 인터랙티브 연습 중 하나를 만나보세요

연습 시작