結果

問題 No.275 中央値を求めよ
ユーザー f Ox
提出日時 2021-04-14 21:46:52
言語 JavaScript
(node v23.5.0)
結果
AC  
実行時間 119 ms / 1,000 ms
コード長 807 bytes
コンパイル時間 35 ms
コンパイル使用メモリ 6,944 KB
実行使用メモリ 44,908 KB
最終ジャッジ日時 2024-06-30 20:34:14
合計ジャッジ時間 5,969 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 38
権限があれば一括ダウンロードができます

ソースコード

diff #

function Main(input) {
  let data = input.split("\n");
  const N = Number(data[0]);
  let A = data[1].split(" ");
  let numsA = A.map(Number); // 配列を文字列から数値に変換する。同時にソート済み。
  let sortNumsA = numsA.sort((a,b)=>a-b);
  // ↑この上の行でmap(Number)をすることでソートされている。よって、ソート関数は不要。
  
  if (N<=1) {
      console.log(Number(A));
  } else if (N%2===1) { // 奇数なら丁度真ん中がメジアン
    console.log(sortNumsA[Math.floor((N/2)-1)+1]);
  } else if (N%2===0) { // 偶数なら間2つの平均値がメジアン
    let bellowM = sortNumsA[(N/2)-1];
    let upperM = sortNumsA[(N/2)];
    console.log((bellowM + upperM)/2);
  } 



}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
0