본문 바로가기
Problem Solving/boj.kr (JS)

[BOJ / 자바스크립트] 4344 : 평균은 넘겠지

by hoiiiii 2022. 2. 7.

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

 

4344번: 평균은 넘겠지

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

www.acmicpc.net

 

Sol )

1. 배열을 순회하면서 누적합을 계산한 뒤 n으로 나눠 평균을 계산

2. 다시 한번 배열을 순회하면서 평균보다 큰 값의 개수를 카운트

3. 2에서 구한 횟수 / n * 100을 소수점 셋째 자리까지 변환해서 양식에 맞춰 출력 ( 템플릿 문자열 활용 )

 

 

소스코드 )

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
let c,n,point;
let total;
let average;
let cnt;
c = parseInt(input[0]);
for (let i = 1 ; i<input.length-1 ; i++){
    input[i] = input[i].split(' ');
    n = Number(input[i][0]);
    total = 0;
    average = 0;
    cnt = 0;
    for (let j = 1 ; j<input[i].length ; j++){
        total += parseInt(input[i][j]);
    }
    average = total / n;
    for (let j = 1 ; j<input[i].length ; j++){
        if (average < Number(input[i][j])){
            cnt += 1
        };
    };
    console.log(`${((cnt/n)*100).toFixed(3)}%`);
}

댓글