文字と整数の組のソート《Bランク UP メニュー》

Bランクレベルアップメニュー【インクリメント・数字のみの出力・昇順ソート出力・文字と整数の組のソート】

【インクリメント】コード

reader.on('close', () => {
   let n = Number(lines[0]);
   n++; // n = n + 1
   console.log(n);
});
hogeちゃんの画像

n の値を n + 1で上書きして出力しました。

【数字のみの出力】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   for (let i = 1; i <= N; i++) {
      const [S, D] = lines[i].split(' ');  // 入力を(' ')区切りで分割して [S, D] で受取って…
      console.log(D);  // D を出力
   }
});
hogeちゃんの画像

N 行の入力を 半角スペース区切りで分割。アルファベットの部分をS・数字の部分を D で受取り D のみ出力しました。

【昇順ソート出力】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const A = lines[1].split(' ').map(Number);
   A.sort((s, b) => s - b);  // 昇順に並替え
   for (let i = 0; i < N; i++) {
      console.log(A[i]);
   }
});
hogeちゃんの画像

A.sort((s, b) => s - b)A の要素を 昇順に並べ替えることができました。

【文字と整数の組のソート】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const A = [];  // 二次元配列
   for (let i = 1; i <= N; i++) {
      const [S, D] = lines[i].split(' ');  // S は文字, D は整数
      A.push([S, D]);  // [S, D] を A に保存
   }
   A.sort((s, b) => s[1] - b[1]);  // A[i][1] を基準に昇順に並替え
   for (let i = 0; i < N; i++) {
      console.log(A[i][0]);  // A[i][0] を出力
   }
});
hogeちゃんの画像

A は 二次元配列 なので A[i][0]を基準に昇順に並べ替えてから A[i][0]を出力しました。

コメント