시작하기무료로 시작하기

평균값 계산하기

우리 모두 반복문으로 평균값을 계산하는 방법은 잘 알고 있어요:

def average(nums):

    result = 0

    for num in nums:
        result += num

    return result/len(nums)

재귀적으로 푸는 방법을 제시해 보시겠어요? 새 입력값이 주어질 때 평균을 갱신하는 데 유용한 공식은 다음과 같아요:

$$ \bar{x} \leftarrow \frac{x_i + (n-1)\bar{x}}{n} $$

여기서 $\bar x$는 평균값, $x_i$는 평균을 갱신하기 위해 새로 제공된 값이며, $n$은 재귀 호출 횟수(함수에 대한 최초 호출은 제외)를 의미해요.

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

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

강의 보기

연습 안내

  • 알고리즘의 기본 사례(base case)를 제시하세요.
  • 평균값을 갱신하기 위한 재귀 호출을 정의하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Calculate an average value of the sequence of numbers
def average(nums):
  
    # Base case
    if len(nums) == ____:  
        return ____[____]
    
    # Recursive call
    n = len(nums)
    return (____ + ____ * ____) / ____

# Testing the function
print(average([1, 2, 3, 4, 5]))
코드 편집 및 실행