Cランクレベルアップメニュー【昇順ソート・降順ソート・辞書式ソート・ソート】
【STEP: 1】コード
reader.on('close', () => {
const N = Number(lines[0]);
const A = new Array(N);
for (let i = 0; i < N; i++) {
A[i] = Number(lines[i + 1]);
}
A.sort((s, b) => s - b); // 小さい順に並替え
A.forEach(value => {
console.log(value); // 改行区切りで出力
});
});
A.sort((s, b) => s - b)
で 値 の小さい順に並替え。
【STEP: 2】コード
reader.on('close', () => {
const N = Number(lines[0]);
const A = new Array(N);
for (let i = 0; i < N; i++) {
A[i] = Number(lines[i + 1]);
}
A.sort((s, b) => b - s); // 大きい順に並替え
A.forEach(value => {
console.log(value); // 改行区切りで出力
});
});
A.sort((s, b) => b - s)
で 値 の大きい順に並べ替え。
【STEP: 3】コード
reader.on('close', () => {
const N = Number(lines[0]);
const A = new Array(N);
for (let i = 0; i < N; i++) {
A[i] = lines[i + 1].split(' ').map(Number);
}
A.sort((s, b) => b[1] - s[1]); // A[i][1]を基準に大きい順に並替え
A.sort((s, b) => b[0] - s[0]); // A[i][0]を基準に大きい順に並替え
A.forEach(value => {
console.log(...value);
});
});
先ず A[i][1]
を基準に並べ替えて 次に A[i][0] を基準に並べ替えれば OK でした。
【FINAL】コード
reader.on('close', () => {
const N = Number(lines[0]);
const A = new Array(N);
for (let i = 0; i < N; i++) {
A[i] = lines[i + 1].split(' ').map(Number);
}
A.sort((s, b) => b[0] - s[0]); // A[i][0]を基準に大きい順に並替え
A.sort((s, b) => b[1] - s[1]); // A[i][1]を基準に大きい順に並替え
A.forEach(value => {
console.log(...value);
});
});
こちらは先に A[i][0]
を基準に並べ替えて 次に A[i][1] を基準に並べ替えてました。
コメント