Algorithm
- ν΅κ³ν -
λ¬Έμ
μλ₯Ό μ²λ¦¬νλ κ²μ ν΅κ³νμμ μλΉν μ€μν μΌμ΄λ€.
ν΅κ³νμμ Nκ°μ μλ₯Ό λννλ κΈ°λ³Έ ν΅κ³κ°μλ λ€μκ³Ό κ°μ κ²λ€μ΄ μλ€. λ¨, Nμ νμλΌκ³ κ°μ νμ.
1. μ°μ νκ· : Nκ°μ μλ€μ ν©μ NμΌλ‘ λλ κ°
2. μ€μκ° : Nκ°μ μλ€μ μ¦κ°νλ μμλ‘ λμ΄νμ κ²½μ° κ·Έ μ€μμ μμΉνλ κ°
3. μ΅λΉκ° : Nκ°μ μλ€ μ€ κ°μ₯ λ§μ΄ λνλλ κ°
4. λ²μ : Nκ°μ μλ€ μ€ μ΅λκ°κ³Ό μ΅μκ°μ μ°Ύμ΄
Nκ°μ μκ° μ£Όμ΄μ‘μ λ, λ€ κ°μ§ κΈ°λ³Έ ν΅κ³κ°μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ μΆλ ₯ μμ
λ¬Έμ νκΈ°
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n").map((el) => Number(el));
input.shift();
input.sort((a, b) => a - b);
// μ°μ νκ·
let sum = input.reduce((past, curr) => past + curr, 0);
let value1 = Math.round(sum / input.length);
// μ€μκ°
let value2 = input[Math.floor(input.length / 2)];
// μ΅λΉκ°
let mostNum = new Map();
for (let i = 0; i < input.length; i++) {
if (mostNum.has(input[i])) {
mostNum.set(input[i], mostNum.get(input[i]) + 1);
} else {
mostNum.set(input[i], 1);
}
}
let maxCount = 0;
let mostNumArr = [];
for (let value of mostNum.keys()) {
if (maxCount < mostNum.get(value)) maxCount = mostNum.get(value);
}
for (let value of mostNum.keys()) {
if (maxCount === mostNum.get(value)) mostNumArr.push(value);
}
let value3 = mostNumArr.length === 1 ? mostNumArr[0] : mostNumArr[1];
// λ²μ
let value4 = input[input.length - 1] - input[0];
console.log(value1);
console.log(value2);
console.log(value3);
console.log(value4);
λ°μν
'κ°μΈκ³΅λΆ > Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€][Node.js] 2167λ² : 2μ°¨μ λ°°μ΄μ ν© (0) | 2021.07.28 |
---|---|
[λ°±μ€][Node.js] 2163λ² : μ΄μ½λ¦Ώ μλ₯΄κΈ° (0) | 2021.07.28 |
[λ°±μ€][Node.js] 2010λ² : νλ¬κ·Έ (0) | 2021.07.25 |
[λ°±μ€][Node.js] 1978λ² : μμ μ°ΎκΈ° (0) | 2021.07.24 |
[λ°±μ€][Node.js] 1977λ² : μμ μ κ³±μ (0) | 2021.07.23 |
λκΈ