250x250
Notice
Recent Posts
Recent Comments
Link
\(@^0^@)/
[JS] ๋ฐฑ์ค 4344๋ฒ ํ๊ท ์ ๋๊ฒ ์ง ๋ณธ๋ฌธ
728x90
๐ฑ๐ 1. ๋ฌธ์ : 3052
https://www.acmicpc.net/problem/4344
๐ฅ 2. ํ์ด + ์ฝ๋
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(file).toString().trim().split('\n');
let testCase = Number(input[0]);
// 1. test case์ ๊ฐ์๋ฅผ ์ ์ธ ํ ๊ฐ ์ค์์ ์ธ๋ฑ์ค 0 ์ ์ ์ธํ๊ณ ๋ชจ๋ ๋ํ๋ค.
// 2. ๊ทธ ๋ํ ๊ฐ์ ๊ทธ ์ค์ ํ์ ์๋ก ๋๋๋ฉด ==> ๊ทธ ์ค์ ํ๊ท ์ ์
// 3. ํ๊ท ์ ์๋ฅผ ๊ทธ ์ค์ ํ์์ ์ ์์ ๋น๊ตํด์ count ๋๋ check ๊ฐ์ ๋ณ์๋ฅผ ๋ง๋ค์ด์ ๋์ ์ํจ๋ค.
// 4. ๊ทธ๋ ๊ฒ ๋์ ์ํจ ๊ฐ์ ๊ฐ ์ค์ ํ์ ์ (์ธ๋ฑ์ค 0)์์ ๋๋๊ณ , ๋น์จ์ ๊ตฌํด์ ์
์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅ.
// ex) ํ๊ท ์ ์๋ฅผ ๋์ ํ์์ด 7๋ช
์ค 4๋ช
์ด๋ผ ํ๋ฉด -> 100/7*4 = 57.143
for (let i = 1; i <= testCase; i++) {
let sum = 0;
let count = 0;
// ์ฒซ์ค์ ์ ์ธํ๊ณ ๊ฐ ์ค์ ๊ฐ์ ๋ฐฐ์ด์์ ๋ด์ ํ, ์ซ์์ด๋ก ๋ณํ
let test = input[i].split(' ').map(n => Number(n));
for (let j = 1; j <= test[0]; j++) {
sum += test[j];
}
let avg = sum / test[0];
for (let k = 1; k <= test[0]; k++) {
// ๋ง์ฝ์ ๊ฐ๊ฐ์ ์ ์๊ฐ avg๋ณด๋ค ํฌ๋ค๋ฉด, count์ ์ถ๊ฐ.
if(test[k] > avg) {
count++;
}
}
// ํ๊ท ๋ณด๋ค ํฐ count(์ธ์)๋ฅผ ๊ฐ ์ค์ ํ์ ์๋ก ๋๋๊ณ , ํผ์ผํ
์ด์ง๋ฅผ ๊ตฌํด์
// ์์์ ์
์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅ
console.log((count/test[0]*100).toFixed(3) + "%");
}
โก 3. ๊ทธ ์ธ
toFixed๋ผ๋ ๋ฉ์๋๋ ์ฒ์ ์์์!
โป toFixed ์ฐธ๊ณ : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
728x90
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ๋ฐฑ์ค 4673๋ฒ ์ ํ ๋๋ฒ (0) | 2021.10.02 |
---|---|
[JS] ๋ฐฑ์ค 1065๋ฒ ํ์ (0) | 2021.09.30 |
[JS] ๋ฐฑ์ค 8958๋ฒ OXํด์ฆ (0) | 2021.09.28 |
[JS] ๋ฐฑ์ค 3052๋ฒ ๋๋จธ์ง (0) | 2021.09.28 |
[JS] ๋ฐฑ์ค 2577๋ฒ ์ซ์์ ๊ฐ์ (0) | 2021.09.28 |