第25回【JavaScript】i番目の出力 1、i番目の出力 2、【次元配列の入出力】i番目の出力 Boss

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

はじめに

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

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

会社で置き菓子制度を作ったのは LeoSaki(旦那)で、置き菓子の管理をしているのも LeoSaki(旦那)なのですが、身体のことを考えると、あまり食べない方がいいのかもしれません。健康診断の結果を見ると。しかし、置いてあると手が伸びるのは仕方ないでしょう。

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

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

整数 K が与えられます。
数列 a が

1 3 5 4 6 2 1 7 1 5

で与えられるとき、数列 a の K 番目の要素を出力してください。


入力される値

K

整数 K が与えられます。

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


期待する出力

数列の K 番目の要素を出力してください。

a_K

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


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

* K は 1 以上 10 以下の整数


入力例

5

出力例

6

インデックスはゼロから始まる。

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 k = Number(lines[0]);
  const l = [1, 3, 5, 4, 6, 2, 1, 7, 1, 5];
  console.log(l[k - 1]);
});
Python
K = int(input())
L = [1, 3, 5, 4, 6, 2, 1, 7, 1, 5]
print(L[K - 1])

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

1 行目に整数 K が与えられます。
2 行目に 10 個の整数 a_i (1 ≤ i ≤ 10) が半角スペース区切りで与えられます。
K 番目の要素 a_K を出力してください。


入力される値

K
a_1 ... a_10

1 行目に整数 K が与えられます。
2 行目に 10 個の整数 a_i が半角スペース区切りで与えられます。

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


期待する出力

K 番目の要素 a_K を出力してください。

a_K

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


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

* K は 1 以上 10 以下の整数
* a_i は 1 以上 100 以下の整数


入力例

5
8 1 3 1 3 8 3 8 1 1

出力例

3

数列も標準入力から与えられる。

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 k = Number(lines[0]);
  const a = lines[1].split(/\s/).map(Number);
  console.log(a[k - 1]);
});
Python
K = int(input())
A = input().split()
print(A[K - 1])

【次元配列の入出力】i番目の出力 Boss (paizaランク D 相当)

1 行目に整数 N と整数 K が与えられます。
2 行目に N 個の整数 a_i (1 ≤ i ≤ N) が半角スペース区切りで与えられます。
K 番目の整数 a_K を出力してください。


入力される値

N K
a_1 ... a_N

1 行目に整数 N と整数 K が与えられます。
2 行目に N 個の整数 a_i が半角スペース区切りで与えられます。

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


期待する出力

K 番目の整数 a_K を出力してください。

a_K

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


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

* N は 1 以上 100 以下の整数
* K は 1 以上 N 以下の整数
* a_i は 1 以上 100 以下の整数


入力例

8 3
3 1 8 1 3 8 8 1

出力例

8

N の使い道が分からない。

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,k] = lines[0].split(/\s/).map(Number);
  const a = lines[1].split(/\s/).map(Number);
  console.log(a[k - 1]);
});
Python
N,K = map(int,input().split())
A = input().split()
print(A[K - 1])

最後に

どのようなパターンであっても、インデックスがゼロから始まることだけ忘れなければ簡単に解くことが出来る問題でした。

なんとなく数字の配列だから、と、map(Number) を付けているのですが、配列の i 番目を求める問題なので、文字列の配列で受けてもいいんだよなぁとか思いました。Python の解答はそんな感じで書いているようですし。

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

Python の第25回はこちら