๐Ÿ‘ฉ‍๐Ÿ’ปProgramming/Coding Test

[C#] [BOJ#4344] ํ‰๊ท ์€ ๋„˜๊ฒ ์ง€

taesooya 2022. 7. 30.

https://www.acmicpc.net/problem/4344

 

2741๋ฒˆ: N ์ฐ๊ธฐ

์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๋ถ€ํ„ฐ N๊นŒ์ง€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net

 

My Solution

double result = Math.Round((count / arr[0] * 100), 3); //๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ์†Œ์ˆ˜์  3์ž๋ฆฌ ๊นŒ์ง€ string newResult = string.Format("{0:0.000}", result); //์†Œ์ˆ˜์  ์„ค์ •


using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            double t = double.Parse(Console.ReadLine());

            for (int i = 0; i < t; i++)
            {
                double sum = 0;
                double count = 0;

                string[] ss = Console.ReadLine().Split();
                double[] arr = Array.ConvertAll<string, double>(ss, double.Parse);

                for (int j = 1; j <= arr[0]; j++)
                {
                    sum += arr[j];
                }

                double average = (sum / arr[0]);
                for (int k = 1; k <= arr[0]; k++)
                {
                    if (arr[k] > average)
                    {
                        count++;
                    }
                }

                double result = Math.Round((count / arr[0] * 100), 3);
                string newResult = string.Format("{0:0.000}", result);
                Console.WriteLine("{0}" + "%", newResult);
            }
        }
    }
}

Solution


using System;
 
class Program {
    static void Main(string[] args)
    {
        //(1)์ฒซ์งธ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์•ผํ•œ๋‹ค.
        int c = int.Parse(Console.ReadLine());
        //(5)๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋‘˜๋Ÿฌ์ค๋‹ˆ๋‹ค.
        for (int i = 0; i < c; i++)
        {
            //(2)๋‘˜์งธ์ค„๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋งˆ๋‹ค ํ•™์ƒ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๊ณ  ํ•™์ƒ์˜ ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
            // - ํ•™์ƒ์˜ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ 
            // - ๊ฐ ํ•™์ƒ์˜ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค
            // - ๋ฐฐ์—ด๋กœ ๋‘˜์งธ ์ค„ ์ž…๋ ฅ์„ ๋ฐ›๊ณ  [0]๋ฒˆ ๊ฐ’์ด ํ•™์ƒ์˜ ์ˆ˜๋‹ค
            // - [0]๋ฒˆ ๊ฐ’๋งŒํผ []์ด ๋Š˜์–ด๋‚œ๋‹ค.
            
            //(4)๊ธ€๋กœ ์ ์€ ์ˆœ์„œ๋Œ€๋กœ C#์–ธ์–ด๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ ํ’€์–ด์”๋‹ˆ๋‹ค.
            string[] input = Console.ReadLine().Split(' ');
            int studentNum = int.Parse(input[0]);
            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)
                {
                    sum += inputNum[j];
                }
            }
 
            average = sum / (float)studentNum;
            float count = 0;
 
            for (int j = 0; j < studentNum + 1; j++)
            {
                if (j >= 1 && inputNum[j] > average)
                {
                    count++;
                }
            }
 
            float result = count / (float)studentNum;
 
            Console.WriteLine("{0:#0.000%}", result);

๋Œ“๊ธ€