N 個の整数の入力

標準入力メニュー【改行区切りでのN個の整数の入力・1 行目で与えられる N 個の整数の入力 ほか】

【STEP: 1】コード (1)

reader.on('close', () => {
   const N = parseInt(lines[0]);  // 要素数の受け取り
   for (let i = 1; i <= N; i++) {
      const a = parseInt(lines[i]);  // 各値を整数に変換して a で受け取り
      console.log(a);
   }
});
hogeちゃんの画像

1行目から要素数を受け取り N に代入。forループで N 個 の値を整数に変換しながら a で受け取り 同時進行で出力しています。

【STEP: 1】コード(2)

reader.on('close', () => {
   const N = parseInt(lines[0]);
   const A = new Array(N);  // 空要素 N 個 の配列
   for (let i = 1; i <= N; i++) {
      const a = parseInt(lines[i]);
      A[i - 1] = a;  // 数値 aA に保存
   }
   A.forEach(a => {
      console.log(a);
   });
});
hogeちゃんの画像

要素数 N 個 の配列 A を宣言し for文中の a で各値を受け取って保存。forEach() で出力しました。

【STEP: 2】コード(1)

reader.on('close', () => {
   const N = parseInt(lines[0]);
   const A = lines[1].split(' ');
      for (let i = 0; i < N; i++) {
      console.log(parseInt(A[i]));
   }
});
hogeちゃんの画像

lines[0] から要素数 N を取得して lines[1] から要素数 N 個の配列 A を生成。for文 で各値を整数に変換して出力しました。

【STEP: 2】コード(2)

reader.on('close', () => {
   const A = lines[1].split(' ');
   A.forEach(a => {
      console.log(parseInt(a));
   });
});
hogeちゃんの画像

各値を forEach() で出力しているので 要素数 N は取得せずに 配列 A のみを生成しています。

【STEP: 3】コード (1)

reader.on('close', () => {
   const A = lines[0].split(' ');
   const N = parseInt(A.shift());
      for (let i = 0; i < N; i++) {
      console.log(parseInt(A[i]));
   }
});
hogeちゃんの画像

lines[0]から半角スペース区切りの配列 A を生成。A の先頭の値を切り取り整数に変換し N に代入。for文 で A の値を整数化して出力。

【STEP: 3】コード (2)

reader.on('close', () => {
   const A = lines[0].split(' ');
   A.shift();
   A.forEach(a => {
      console.log(parseInt(a));
   });
});
hogeちゃんの画像

forEach() で配列の要素数に関わらず 全ての値にアクセスできました。

【STEP: 4】コード (1)

reader.on('close', () => {
   const A = lines[1].split(' ');
   A.forEach(a => {
      console.log(parseInt(a));
   });
});
hogeちゃんの画像
入力条件が変わってますけど 【STEP: 2】のコードと同じでOKでした。

【STEP: 4】コード (2)

reader.on('close', () => {
   const A = lines[1].split(' ');
   A.forEach(a => {
      console.log(parseInt(a));
   });
});
hogeちゃんの画像
こちらも【STEP: 2】のコードと同じです。

【FINAL】コード (1)

reader.on('close', () => {
   const A = lines[0].split(' ');
   const N = parseInt(A.shift());
      for (let i = 0; i < N; i++) {
      console.log(parseInt(A[i]));
   }
});
hogeちゃんの画像

【STEP: 3】と同じコードで問題なく動作しました。

【FINAL】コード (2)

reader.on('close', () => {
   const A = lines[0].split(' ');
   A.shift();
   A.forEach(a => {
      console.log(parseInt(a));
   });
});
hogeちゃんの画像

こちらも【STEP: 3】と同じコードです。

コメント