백준 4344 ) 평균은 넘겠지

jihye_son·2022년 10월 31일
0

jihye's Algorithm

목록 보기
11/14

문제

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

입력

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

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

출력

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

문제 풀이

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){
                let answer=[], cnt =0, sum = 0
               
                arr.forEach(element => {
                    sum += element
                });

                let arg = sum/arr.length

                for ( let x of arr){
                    if( x> arg ) cnt ++
                }

                answer = cnt /arr.length
                

                return( answer * 100).toFixed(3)

            }
            
            let a=[100 ,95, 90, 80, 70 ,60, 50];
            console.log(solution(a));
        </script>
    </body>
</html>

문제 해석

forEach() 함수로 배열의 합 sum 을 구한 뒤
평균을 구하고
for of 로 평균 이상이면 count 를 해줬다

toFixed(살릴 소수점 자릿수) 를 써주면 끝!!
toFixed() 함수를 몰랐는데 알게되었다~~~

profile
뽀짝뽀짝 나는야 FE 개발자

0개의 댓글