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
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.