대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다.
점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
:: 성공
: 개선점 : Linq에 너무 의지하는 건가?
using System;
using System.Linq;
namespace Array01
{
class Program
{
static void Main(string[] args)
{
// :: Read
int readCount = Int32.Parse(Console.ReadLine());
// for Use
string print = "";
// :: Get
for(int i = 0; i < readCount; i++)
{
// :: Read
string[] scoresTemp = Console.ReadLine().Split(' ');
// :: Convert
int[] scores = new int[scoresTemp.Length - 1];
for(int j = 1; j < scoresTemp.Length; j++)
{
scores[j - 1] = int.Parse(scoresTemp[j]);
}
// :: Find
int count = scores.Count(ele => ele > scores.Average());
float percent = ((float)count / (float)scores.Length) * 100;
// :: Remember
string percentToString = string.Format("{0:0.000}%", Math.Round(percent, 3));
print += percentToString + (i >= (readCount - 1) ? "" : "\n");
}
// :: Print
Console.WriteLine(print);
}
}
}
'C#' 카테고리의 다른 글
백준 1152 : 단어의 개수 (0) | 2021.01.26 |
---|---|
백준 1065 : 한수 (0) | 2021.01.18 |
백준 8958 : OX퀴즈 (0) | 2021.01.13 |
백준 1546 : 평균 (0) | 2021.01.11 |
백준 3052 : 나머지 (0) | 2021.01.09 |