https://www.acmicpc.net/problem/1546
using System;
using System.IO;
namespace baekjoon
{
class Program
{
static void Main(string[] args)
{
// 표준 입출력 스트림 reader,writer 만들기
// 첫째 줄에 시험 본 과목의 개수 N 입력받기, int로 바꾸기
// 둘째 줄에 세준이의 현재 성적 입력받기, 분리하기, int로 바꾸기
// 세준이의 점수 중 최댓값 M 고르기
// 모든 점수의 각 점수/M * 100 로 고쳐서 새로운 평균 구하기
// 버퍼에 저장
// 버퍼 한 번에 비우기
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
string strFirstInput = sr.ReadLine();
int nSubjectNum = int.Parse(strFirstInput);
string strSecondInput = sr.ReadLine();
string[] strScores = strSecondInput.Split(' ');
int[] nScoreArr = new int[nSubjectNum];
for (int i = 0; i < nSubjectNum; i++)
{
int nSecondNum = int.Parse(strScores[i]); // 40, 80, 60
nScoreArr[i] = nSecondNum; // { 40, 80, 60 }
}
// nScoreArr = { 40, 80, 60 }
int nMaxScore = nScoreArr[0];
for (int i = 1; i < nSubjectNum; i++)
{
if(nMaxScore < nScoreArr[i])
{
nMaxScore = nScoreArr[i]; // 80
}
}
// 모든 점수의 각 점수/M*100 로 고쳐서 새로운 평균 구하기
double nSum = 0;
double nNewScore;
for (int i = 0; i < nSubjectNum; i++)
{
nNewScore = nScoreArr[i] / (double)nMaxScore * 100; // 50, 100, 75
nSum += nNewScore;
}
double nNewAverage = Math.Round(nSum / nSubjectNum, 3); // 소수세째자리 반올림
sw.WriteLine(nNewAverage);
sw.Flush();
sr.Close();
sw.Close();
}
}
}