코딩테스트 (C#)

백준 1546 : 평균 - C# 풀이

UniCoti-sub 2024. 9. 19.
반응형

문제 사진

 

이번 문제는 말이 많다.

점수를 점수/m*100으로 조작한 뒤의 평균을 구하라고 한다.

우리가 해야할 일은 배열을 구성한 다음 점수/m*100이라는 처리과정을 거쳐

마지막으로 평균을 계산해주기만 하면 된다.

이해만 되면 그 뒤로는 쉬운 문제이다.

using System;
using System.Linq;

namespace unicoti {
    class Program {
        static void Main(string[] args) {
            Console.ReadLine();
            string[] input = (Console.ReadLine()??"").Split(' ');
            float[] arr = input.Select(float.Parse).ToArray();
            float m = arr.Max();
            
            for(int i = 0; i < arr.Length; i++) {
                arr[i] = (arr[i]/m)*100;
            }

            Console.WriteLine(arr.Average());
        }
    }
}

 

나는 이번에도 linq를 조금 사용했다.

배열 형변환에 사용해서 깔끔하게 처리했고 (다만 익숙치 않다)

처리과정은 어쩔 수 없이 for문을 사용했으며

마지막으로 평균도 linq를 활용해서 편하게 구한 뒤 출력해주었다.


오늘의 느낀점)

추석 끝나고 다시 하려니 뭔가 바쁜 것 같다.

난이도가 조금씩 올라가고 있는데 코드를 짜는 시간도

점점 줄어들고 막힘없어져서 기분이 좋다.

 

티어도 있는걸 보고 더욱 열심히 해야겠다고 느끼기도 했다.

문제 자체로 느낀건 많이 없었다. 배열 형변환 조금 배운거랑

Average()함수 정도..? 존재를 알았으니 다음에도 써먹을 수 있을 듯 하다.


이상으로 도움이 되었길 바라며,

 

끝.

반응형

댓글