第54回【JavaScript】配列の順序の反転

現在取り組んでいるのは、paiza ラーニング問題集「配列活用メニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
JavaScript をゼロから勉強してみよう、のコーナー 54 回目です。
ルナちゃんは横で寝るときも膝に乗るときも、必ずどこかに足を掛けたり枕替わりにしたりします。レオくんは綺麗にスポッと収まってくれます。そのため、ルナちゃんよりもレオくんの方が甘え上手と言えるでしょう。まぁ、体重はルナちゃんの倍以上あるので、結局、しんどいんですけれど。
それでは、今日も頑張ってみようと思います。
配列の順序の反転 (paizaランク D 相当)
配列 A の要素数 N と配列 A の各要素 A_1, A_2, …, A_N が与えられるので、A の要素の順序を逆にした配列 B を作成し、出力してください。
入力される値
N
A_1
...
A_N
・1 行目では、配列 A の要素数 N が与えられます。
・続く N 行では、配列 A の要素が先頭から順に与えられます。
入力値最終行の末尾に改行が1つ入ります。
期待する出力
B_1
...
B_N
A の要素の前後を逆にした配列 B を以上の形式で出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ N ≦ 100
・-100 ≦ A_i ≦ 100 (1 ≦ i ≦ N)
入力例
5
1
2
3
4
5
出力例
5
4
3
2
1
Python だとすぐに思いつくのだけれど、JavaScript ではどうやって書けばいいんだろう。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
const n = Number(lines[0]);
const A = [];
for (let i = 1; i <= n; i++) {
A.push(Number(lines[i]));
}
const B = A.reverse();
for (let i = 0; i < n; i++) {
console.log(B[i]);
}
});
Python
N = int(input())
A = [int(input()) for _ in range(N)]
B = [0]*N
i = 0
for a in A[::-1]:
B[i] = a
i += 1
print(*B,sep="\n")
最後に
reverse() で簡単に配列の逆順を作ることができる。なんだかとても便利だ。しかし、問題文通り、逆順の配列 B を作成したのだけれど、配列を作成する際に、変数の宣言 const をつけるっていうのが、未だに慣れない。
変数宣言を突き詰めていくと、結局、何が正解だかわからなくなる。LeoSaki(旦那)は、先頭でまとめて宣言を行ったうえで、型も意識しておく方が好き、というか安心できる。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません