반응형

1. 문제

- [백준 C#] 1546번 평균 (C#)  (https://www.acmicpc.net/problem/1546)

 

세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.
예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.
세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 과목 개수 n 입력 받기
  • 각각의 성적 n개 입력 받기
  • 문제에서 요구하는 방식으로 계산
    (모든 점수를 점수/M*100)

 

 

반응형

 

 

3. 전체 코드

using System;
using System.Collections.Generic;
using System.Linq;

namespace B1_01546번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int cnt = int.Parse(Console.ReadLine());
            List<double> list = new List<double>( Array.ConvertAll(Console.ReadLine().Split(), double.Parse));

            // 리스트를 내림차순 정렬
            list = list.OrderByDescending(x => x).ToList();

            double max = list.Max();
            
            // 각각의 성적을 문제의 요구사항대로 변환
            for (int i = 0; i < cnt; i++)
            {
                list[i] = list[i] / max * 100;
            }

            // 평균값 출력
            Console.WriteLine(list.Average());
        }
    }
}

// 1546번 평균
// https://www.acmicpc.net/problem/1546
반응형

+ Recent posts