線形探索メニュー【2番目に大きな値・k番目に大きな値】
【STEP: 1】コード
reader.on('close', () => {
const n = Number(lines[0]);
const a = lines[1].split(' ').map(Number);
a.sort((s, b) => b - s); // a を大きい順に並替え
console.log(a[1]); // a の 2 番目を出力
});
a.sort((s, b) => b - s)
で a を大きい順に並替え。配列 の index は 0 から始まるので a[1] が2番めの値ですね。
【FINAL】コード
reader.on('close', () => {
const n = Number(lines[0]);
const k = Number(lines[2]);
const a = lines[1].split(' ').map(Number);
a.sort((s, b) => b - s); // a を大きい順に並替え
console.log(a[k - 1]); // a の k 番目を出力
});
a.sort((s, b) => b - s)
で a を大きい順に並替え。配列 の index は 0 から始まるので a[k -1]が k 番めの値ですね。
コメント