Notice
Recent Posts
Recent Comments
Link
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Lennon FE

[๋ฐฑ์ค€ 2108๋ฒˆ] ํ†ต๊ณ„ํ•™ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs) ๋ณธ๋ฌธ

๐Ÿ”ฅ Algorithm/Baekjoon

[๋ฐฑ์ค€ 2108๋ฒˆ] ํ†ต๊ณ„ํ•™ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)

Lennon 2022. 5. 3. 18:52
728x90
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/2108

 

2108๋ฒˆ: ํ†ต๊ณ„ํ•™

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, N์€ ํ™€์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์ •์ˆ˜๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ๋˜๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ 4,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
let input = [];
rl.on('line', function (line) {
  input.push(line);
  if (input.length === +input[0] + 1) {
    rl.close();
  }
}).on('close', function () {
  const [N, ...nums] = input.map(Number);

  nums.sort((a, b) => a - b);

  const avg = Math.round(nums.reduce((acc, cur) => acc + cur, 0) / nums.length);
  const median = nums[Math.floor(nums.length / 2)];

  const obj = {};

  for (let i = 0; i < N; i++) {
    if (!obj[nums[i]]) {
      obj[nums[i]] = 1;
    } else {
      obj[nums[i]] += 1;
    }
  }
  const modeArr = Object.entries(obj).sort((a, b) => b[1] - a[1]);
  const value = modeArr[0][1];

  console.log(avg === 0 ? +0 : avg);
  console.log(median);
  if (nums.length > 1 && modeArr[1][1] === value) {
    const maxModeArr = modeArr.filter((v) => v[1] === value);
    maxModeArr.sort((a, b) => +a[0] - +b[0]);
    console.log(+maxModeArr[1][0]);
  } else {
    console.log(+modeArr[0][0]);
  }
  if (nums.length > 1) {
    console.log(Math.abs(nums[nums.length - 1] - nums[0]));
  } else {
    console.log(0);
  }
});

์ตœ๋นˆ๊ฐ’์—์„œ ์ •๋ ฌ์„ ์ž˜ ํ•˜๋Š” ๊ฒƒ์„ ์ฐพ๋Š”๊ฒŒ ์ค‘์ ์ด๋‹ค! - ๋ณธ์ธ์€ ์ •๋ ฌ์„ ์•ˆ ํ•œ ์ƒํƒœ์ธ์ง€ ๋ชจ๋ฅด๊ณ  ์–ด๋””๊ฐ€ ํ‹€๋ฆฐ์ง€ ์ฐพ๋Š๋ผ ๊ณ ์ƒํ–ˆ๋‹ค

728x90
๋ฐ˜์‘ํ˜•
Comments