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