더북(TheBook)

31.4 평균 구하기: AVERAGE 알고리즘

평균(AVERAGE) 알고리즘은 자료 합계(SUM)를 횟수(COUNT)로 나누어 평균을 구합니다. 평균값(누적합/카운터)을 구할 때 사용합니다.

 

평균 알고리즘 사용하기

주어진 범위의 데이터를 사용하여 데이터의 합과 개수를 구한 후 이것으로 평균 알고리즘을 적용하여 평균을 구하는 예제를 만들어 봅시다. 다음 내용을 입력한 후 실행해 보세요.

n명의 점수 중에서 80점 이상 95점 이하인 점수 평균: AverageAlgorithm.cs

using System;

class AverageAlgorithm
{
    static void Main()
    {
        //① 입력: n명의 성적
        int[] data = { 90, 65, 78, 50, 95 };
        int sum = 0;   //합계 담는 그릇
        int count = 0; //개수 담는 그릇

        //② 처리: AVG = SUM / COUNT
        for (int i = 0; i < data.Length; i++)   //주어진 범위
        {
            if (data[i] >= 80 && data[i] <= 95) //주어진 조건
            {
                sum += data[i];                 //SUM
                count++;                        //COUNT
            }
        }

        double avg = 0.0f;
        if (sum != 0 && count != 0)            //예외 처리
        {
            avg = sum / (double)count;           //AVERAGE
        }

        //③ 출력
        Console.WriteLine($"80점 이상 95점 이하인 자료 평균 : {avg:0.00}");
    }
}

실행 결과

80점 이상 95점 이하인 자료 평균 : 92.50

평균 알고리즘은 앞에서 학습한 합계 알고리즘과 개수 알고리즘을 조합해서 사용하는 특징이 있습니다. 이처럼 많은 알고리즘이 이미 있는 기능을 조합하거나 확장해서 만들어 나갑니다.

평균 알고리즘을 LINQ로 표현하면 다음과 같이 한 줄이면 충분합니다.

> (new int[] { 50, 65, 78, 90, 95 }).Where(d => d >= 80 && d <= 95).Average()
92.5
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.