標準入力メニュー【改行区切りでのN個の実数の入力・2 行目で与えられるN個の実数の入力 ほか】
【STEP: 1】コード (1)
reader.on('close', () => {
const N = Number(lines[0]);
for(let i = 1; i <= N; i++){
const a = Number(lines[i]); // 入力値を数値化して a で受け取り
console.log(a);
}
});
N 個 の値を数値化しながら a で受け取り 同時進行で出力しています。
【STEP: 1】コード(2)
reader.on('close', () => {
const N = Number(lines[0]);
const A = new Array(N); // N 個の 空要素を持つ 配列 A を宣言
for (let i = 1; i <= N; i++) {
const a = Number(lines[i]); // 入力を a で受け取って…
A[i - 1] = a; // A[i - 1] に代入
}
A.forEach(a => {
console.log(a);
});
});
要素数 N 個 の配列 A を宣言し for文中の a で入力値を受け取り A に代入。そして forEach()
で出力しました。
【STEP: 2】コード(1)
reader.on('close', () => {
const N = Number(lines[0]);
const A = lines[1].split(' ').map(Number);
for (let i = 0; i < N; i++) {
console.log(A[i]);
}
});
lines[0]
から要素数 N を取得し lines[1]
から要素数 N 個の配列 A を生成。for文 で各値を出力しました。
【STEP: 2】コード(2)
reader.on('close', () => {
const A = lines[1].split(' ').map(Number);
A.forEach(a => {
console.log(a);
});
});
各値をforEach()
で出力しているので 要素数 N は取得せずに lines[1] のみ受け取っています。
【STEP: 3】コード (1)
reader.on('close', () => {
const A = lines[0].split(' ').map(Number);
const N = A.shift(); // A の先頭の値を切り取って N に代入
for (let i = 0; i < N; i++) {
console.log(A[i]);
}
});
入力は1行なので とりあえず半角スペースで区切って数値化した配列 A を生成。A の先頭の値を切り取り N に代入。for文 で N 個 の 値を出力しました。
【STEP: 3】コード (2)
reader.on('close', () => {
const A = lines[0].split(' ').map(Number);
A.shift(); // 先頭の値を削除
A.forEach(a => {
console.log(a);
});
});
forEach()
を使えば配列の要素数に関わらず、全ての値にアクセスできるので、要素数 N を生成せずに 全ての値を出力しました。
【STEP: 4】コード (1)
reader.on('close', () => {
const N = Number(lines[0]);
const A = lines[1].split(' ').map(Number);
for (let i = 0; i < N; i++) {
console.log(A[i]);
}
});
入力条件が変わってますけど、【STEP: 2】のコードと同じでOKでした。
【STEP: 4】コード (2)
reader.on('close', () => {
const A = lines[1].split(' ').map(Number);
A.forEach(a => {
console.log(a);
});
});
こちらも【STEP: 2】と同じコードになっています。
【FINAL】コード (1)
reader.on('close', () => {
const A = lines[0].split(' ').map(Number);
const N = A.shift();
for (let i = 0; i < N; i++) {
console.log(A[i]);
}
});
【STEP: 3】と同じコードで問題なく動作しました。
【FINAL】コード (2)
reader.on('close', () => {
const A = lines[0].split(' ').map(Number);
A.shift();
A.forEach(a => {
console.log(a);
});
});
こちらも【STEP: 3】のコピペです。
コメント