문제
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
-
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
풀이
const readFileSyncAddress = '/dev/stdin';
const fs = require('fs');
let [C, ...testCases] = fs
.readFileSync(readFileSyncAddress)
.toString()
.trim()
.replaceAll(/\r/g, '')
.split(/\n/g);
for (let i = 0; i < C; i++) {
testCases[i] = testCases[i].split(/\s/g).map(Number);
}
//답안 작성
let N, sum, avg;
let cnt = 0;
for (let i = 0; i < C; i++) {
// 각 testCases 의 갯수 N 정의
N = testCases[i].shift();
// 각 testCases 의 평균
sum = testCases[i].reduce((a, c) => a + c, 0);
avg = sum / N;
// 각 testCases에서 평균을 넘는 학생의 수
cnt = 0;
for (let j = 0; j < N; j++) {
if (testCases[i][j] > avg) cnt++;
}
// 백분율 구하기
console.log(`${((cnt / N) * 100).toFixed(3)}%`);
}
'Algorithm & 자료구조 > 알고리즘 w.JavaScript' 카테고리의 다른 글
[알고리즘] 백준 1157번: 단어 공부 W_node.js (0) | 2022.05.01 |
---|---|
[알고리즘] 백준 2675번: 문자열 반복 W_node.js (0) | 2022.05.01 |
[알고리즘] 백준 8958번: OX퀴즈 W_node.js (0) | 2022.04.28 |
[알고리즘] 백준 1546번: 평균 W_node.js (0) | 2022.04.27 |
[알고리즘] 백준 3032번: 나머지 W_node.js (0) | 2022.04.27 |