C# 백준 2108번 문제 통계학
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int num = int.Parse(Console.ReadLine());
int[] arr = new int[num];
int[] score = new int[8001]; // 절대값 4000 -> -4000 ~ 4000 까지
List<int> list = new List<int>();
int sum = 0;
int min = int.MaxValue;
int max = int.MinValue;
for (int i = 0; i<num; i++)
{
arr[i] = int.Parse(Console.ReadLine());
score[arr[i]+4000]++;
sum += arr[i];
if (min > arr[i]) min = arr[i];
if (max < arr[i]) max = arr[i];
}
int Mode = score.Max();
for (int i = 0; i < 8001; i++ )
{
if (score[i] == Mode) list.Add(i - 4000);
}
Array.Sort(arr); // 오름차순 정렬
Console.WriteLine(Convert.ToInt32(arr.Average())); // 평균값
Console.WriteLine(arr[num/2]); // 중앙값
if (list.Count > 1)
{
Console.WriteLine(list[1]); // 빈도수가 같으면 두번째로 작은 수
}
else
{
Console.WriteLine(list[0]); // 빈도수가 가장 높은 수
}
Console.WriteLine(max - min);
}
}
}