[λ°±μ€/Node.js] 4344λ² νκ· μ λκ² μ§ || νμ΄ JavaScript
<λ§μμ΅λλ€>
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
const test = +input[0];
for (let i = 1; i <= test; i++) {
let sub = input[i].split(" ").map(v => Number(v));
let student = sub.shift();
let ever = sub.reduce((sum, v) => sum + v, 0) / student;
let overEver = sub.filter(v => v > ever);
let percent = ((overEver.length / student )* 100).toFixed(3);
console.log(percent + '%');
}
test ν μ€νΈ μλ₯Ό λ°μμμ for λ¬ΈμΌλ‘ κ°μ λμΆνλ€.
κ³Όλͺ©κ³Ό νμ μκ° ν¬ν¨λ λ°°μ΄μ sub λ‘ λ°μμ¨ ν, shift() ν¨μλ₯Ό ν΅ν΄ νμ μλ§ studentλ‘ λΌμ΄μ€λ€.
shift() ν¨μλ λΌμ΄λΈ 맨 μ κ°μ return νλ€.
μ μλ§ λ¨μ sub λ°°μ΄μ reduce ν¨μλ₯Ό ν΅ν΄ λ€ λν΄μ€ λ€, νμμλ‘ λλ νκ· μ ꡬν΄μ€λ€.
νκ· λ³΄λ€ ν° μ μλ€λ§ overEver μ λ£μ΄μ€λ€.
overEverμ κΈΈμ΄ (=νκ· λ³΄λ€ ν° μ μλ€ κ°μ) λ₯Ό νμ μλ‘ λλ μ€ ν 100 μ κ³±νλ©΄ λΉμ¨μ΄ λμ€λλ°,
μμμ μΈμ리κΉμ§ μΆλ ₯ν΄μΌνλ toFixed() λ‘ μμμ μ κ³ μ ν΄μ£Όκ³ '%' λ₯Ό λΆμ¬μ€λ€.
<νλ Έμ΅λλ€>
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\r");
const test = input[0]; //5
const everFn = (sub) => {
let student = sub.shift();
let ever = sub.reduce((sum, v) => sum + v) / student;
let overEver = sub.filter(v => v > ever);
let percent = (overEver.length / student * 100).toFixed(3);
console.log(percent + '%');
}
for (let i = 1; i <= test; i++) {
let sub = input[i].split(" ").map(v => Number(v));
everFn(sub);
}
μ²μμ ν¨μλ‘ λ§λ€μ΄μ μ μΆνλλ°, κ³μ νλ Έμ΅λλ€κ° λμλ€. μμΈμ§ λͺ» μμλλ€γ