第42回【JavaScript】i 番目の出力 1、i 番目の出力 2

現在取り組んでいるのは、paiza ラーニング問題集「配列メニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

JavaScript をゼロから勉強してみよう、のコーナー 42 回目です。

2022 年 1 月 1 日に、突然、日記というか生活記録をつけよう、と思い立ちました。それから 2 年間、1 日も欠かさずに、起床時刻、朝食昼食夕食、何時何分に何をしていたか(特別なことだけですが)、就寝時刻などを記録しています。

それでは、今日も頑張ってみようと思います。

i 番目の出力 1 (paizaランク D 相当)

整数 N が与えられます。
以下の文字列のうち、N 番目の文字列を出力してください。

good
morning
paiza
813
pa13

この問題は配列を用いる練習問題です。
これらの文字列を配列に格納し、その配列から i 番目の要素を出力する方法を考えてみましょう。


入力される値

N

整数 N が与えられます。

入力値最終行の末尾に改行が1つ入ります。


期待する出力

N 番目の文字列を出力してください。

また、末尾に改行を入れ、余計な文字、空行を含んではいけません。


すべてのテストケースにおいて、以下の条件をみたします。

* N は 1 以上 5 以下の整数


入力例

1

出力例

good

インデックスがゼロから始まることにだけ気を付けていれば、簡単。

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]);
  L = ["good", "morning", "paiza", "813", "pa13"];
  console.log(L[n-1]);
});
Python
N = int(input())
L = ["good", "morning", "paiza", "813", "pa13"]
print(L[N - 1])

i 番目の出力 2 (paizaランク D 相当)

1 行目に整数 N が与えられます。
2 行目に 5 個の文字列 s_1, s_2, …, s_5 が半角スペース区切りで与えられます。
N 番目の文字列 s_N を出力してください。


入力される値

N
s_1 s_2 ... s_5

1 行目に整数 N が与えられます。
2 行目に 5 個の文字列 s_1, s_2, …, s_5 が半角スペース区切りで与えられます。

入力値最終行の末尾に改行が1つ入ります。


期待する出力

N 番目の文字列 s_N を出力してください。

s_N

また、末尾に改行を入れ、余計な文字、空行を含んではいけません。


すべてのテストケースにおいて、以下の条件をみたします。

* N は 1 以上 5 以下の整数
* s_i (1 ≤ i ≤ 5) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列


入力例

3
a b c d e

出力例

c

文字列の個数はわかっている。やることはさっきと変わらない。

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 L = lines[1].split(/\s/);
  console.log(L[n-1]);
});
Python
N = int(input())
S = input().split()
print(S[N-1])

最後に

継続は力なり。冒頭の日記の件もそうですが、paiza で学習を始めて 1 年が経過しました。まだまだ学習を続けるつもりなので、プランを変更して、1 か月プランから 12 か月プランにしました。ちなみに、直接プランを変更することは出来ないそうですので、一旦退会して再度入会する必要があります。それまでの記録は消えません。

お支払いのタイミング等、きちんと調べて入退会を実施しないと、2 回引き落としが発生する可能性もあるそうですので、慎重にご実施ください。やられる方がいれば・・・。

引き続き、よろしくお願いいたします!

Python の第42回はこちら