(백준) C# 평균 (1546회)

(백준) C# 평균 (1546회) 브론즈 1위

문제

세준이가 기말고사를 망쳤다. 세준은 악보를 조작해서 집에 가져가기로 했다. 먼저 세준은 자신의 점수 중 가장 높은 점수를 꼽았다. 이 값을 M이라고 합니다. 그런 다음 모든 점수를 score/M*100으로 설정합니다.

예를 들어 세준이의 최고 점수가 70점이고 그의 수학 점수가 50점이라면 그의 수학 점수는 50/70*100이 되어 71.43점이 됩니다.

위와 같이 세준이의 성적을 재계산할 때 새로운 평균을 계산하는 프로그램을 작성하시오.

타이핑

테스트 대상의 수 N이 첫 번째 줄에 표시됩니다. 이 값은 1000보다 작거나 같습니다. 두 번째 줄에는 세준의 현재 등급이 표시됩니다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고 0보다 큰 값이 하나 이상 있습니다.

출력

새 평균을 첫 번째 줄에 인쇄합니다. 실제 정답과 출력 값 사이의 절대 또는 상대 오차는 10입니다.-2 아래가 정답입니다.

I/O 예시


설명

using System;

class Program
{
    static void Main()
    {
        //입력 : 시험본 과목의 갯수
        // - 시험본 과목의 갯수를 입력받아 n 에 넣는다.
        string input = Console.ReadLine();
        int n = int.Parse(input);

        //입력 : 각 과목의 점수
        // - 각 과목의 점수를 공백을 기준으로입력받는다. 
        string() inputNum = Console.ReadLine().Split(' ');


        //계산 : 최고점 과목의 점수
        // - 가장 큰 점수를 담을 변수 선언 + 첫번재 수 담아둠
        int max = int.Parse((string)inputNum(0));
        //- for문으로 모든과목 점수를 돌린다.
        for(int i =0 ; i < inputNum.Length;i++)
        {
            if(max < int.Parse(inputNum(i)))
            {
                max = int.Parse(inputNum(i));
            }
        }

        //계산 : 모든 과목의 점수의 평균을 구한다
        float average = 0;
        for (int i =0 ; i < n;i++)
        {
            average += int.Parse(inputNum(i));
        }

        average = average / n /max * 100;

        Console.WriteLine("{0:#0.00####}" , average);

    }
}