대학생 새내기들의 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
블로그 이미지

RIsN

,