◆C#/C# : 백준 문제 풀이

[백준] C# 평균은 넘겠지 (4344번)

진2_ 2023. 3. 25. 15:22
728x90
반응형

[백준]  C# 평균은 넘겠지 (4344번) 브론즈 1

📝문제 

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

🔎 입력

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

🔎출력

각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.

🎀입출력 예시

 

🧐 풀이

 

using System;

class Program
{
    static void Main(string[] args)
    {
        //입력 : 테스트 케이스의 개수
        // - 입력된 숫자를 testCase에 넣는다. 
        int testCase = int.Parse(Console.ReadLine());

        for(int i = 0; i < testCase; i++)
        {
            //1. 학생의 수 받기 

            string[] input = Console.ReadLine().Split(' ');
            int studentNum = int.Parse(input[0]);

            // 2. 학생의 점수 받기
            int[] inputNum = new int[studentNum + 1] ;

            // - 평균 점수를 위한 변수들
            float sum = 0;
            float average = 0;

            for (int j = 0; j < studentNum+1; j++)
            {
                inputNum[j] = int.Parse(input[j]);
                if(j >= 1) //0 에는 학생의 수가 들어있어서
                {
                    sum += inputNum[j];
                }
                
            }

            //3.평균 구하기
            average = sum / (float)studentNum;

            //4.평균 이상 학생 찾기 
            //- 평균이상 학생수를 담을 배열
            float count = 0;

            for(int k = 0; k < studentNum + 1; k++)
            {
                if (k >= 1 && inputNum[k] > average )
                {
                    count++;
                }
            }
            float answer = count/ (float)studentNum;

            Console.WriteLine("{0:#0.000%}", answer);
        }
    }
}
728x90
반응형

'◆C# > C# : 백준 문제 풀이' 카테고리의 다른 글

[백준] C# N찍기 (2741번)  (0) 2023.03.26
[백준] C# 손익분기점 (1712번)  (0) 2023.03.26
[백준] C# A+B (1000번)  (0) 2023.03.25
[백준] C# 수 정렬하기 (2750번)  (0) 2023.03.25
[백준] C# 평균 (1546번)  (0) 2023.03.22