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
'알고리즘 > C#' 카테고리의 다른 글
[백준 C#] 8958번 OX 퀴즈 (C#) (0) | 2022.09.18 |
---|---|
[백준 C#] 4344번 평균은 넘겠지 (C#) (0) | 2022.09.18 |
[백준 C#] 1110번 더하기 사이클 (C#) (1) | 2022.09.17 |
[백준 C#] 2439번 별 찍기 - 2 (C#) (0) | 2022.09.17 |
[백준 C#] 15552번 빠른 A+B (C#) (0) | 2022.09.17 |