第41回【JavaScript】文字列の配列の入力 1、文字列の配列の入力 2、文字列の配列の入力 3
現在取り組んでいるのは、paiza ラーニング問題集「配列メニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
JavaScript をゼロから勉強してみよう、のコーナー 41 回目です。
コロナのワクチン接種は効果がない、という話を耳にします。4 回のワクチン接種を受けて、コロナに感染し、5 回目のワクチン接種の後に 2 回目のコロナに感染した私としては、効果があった、とお伝えしたいです。ワクチン接種を受けていなければ、もっと重症化していただろうと。気休めかもしれませんが、対策はしっかりとっておくべきだと思います。
それでは、今日も頑張ってみようと思います。
文字列の配列の入力 1 (paizaランク D 相当)
複数の文字列があります。すべての文字列を改行区切りで出力してください。
eight
one
three
paiza
pa13
813
この問題は配列を用いる練習問題です。
これらの文字列を配列に格納し、その配列からすべての要素を出力する方法を考えてみましょう。
入力される値
入力は与えられません。
入力値最終行の末尾に改行が1つ入ります。
期待する出力
すべての文字列を改行区切りで出力してください。
eight
one
three
paiza
pa13
813
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
入力は与えられません。
ふむぅ。やるべきことは書かれているので、そのまま書いてみる。
JavaScript
L = ["eight", "one", "three", "paiza", "pa13", "813"];
for (let i = 0; i < L.length; i++) console.log(L[i]);
Python
L = ["eight", "one", "three", "paiza", "pa13", "813"]
print(len(L))
文字列の配列の入力 2 (paizaランク D 相当)
10 個の文字列 s_1, s_2, …, s_10 が半角スペース区切りで与えられます。
すべての文字列を改行区切りで出力してください。
入力される値
s_1 s_2 ... s_10
10 個の文字列 s_1, s_2, …, s_10 が半角スペース区切りで与えられます。
入力値最終行の末尾に改行が1つ入ります。
期待する出力
すべての文字列を改行区切りで出力してください。
s_1
s_2
...
s_10
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
* s_i (1 ≤ i ≤ 10) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例
a b c d e f g h i j
出力例
a
b
c
d
e
f
g
h
i
j
標準入力から与えられる個数が分かっているので、難しいことはない。
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 L = lines[0].split(/\s/);
for (let i = 0; i < 10; i++) console.log(L[i]);
});
Python
S = input().split()
for s in S:
print(s)
文字列の配列の入力 3 (paizaランク D 相当)
1 行目に整数 N が与えられます。
2 行目に N 個の文字列 s_1, s_2, …, s_Nが半角スペース区切りで与えられます。
すべての文字列を改行区切りで出力してください。
入力される値
N
s_1 s_2 ... s_N
1 行目に整数 N が与えられます。
2 行目に N 個の文字列 s_1, s_2, …, s_N が半角スペース区切りで与えられます。
入力値最終行の末尾に改行が1つ入ります。
期待する出力
すべての文字列を改行区切りで出力してください。
s_1
s_2
...
s_N
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
* N は 1 以上 10 以下の整数
* s_i (1 ≤ i ≤ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例
5
a b c d e
出力例
a
b
c
d
e
与えられる文字列の個数が可変になるだけ。さっきと変わらない。
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/);
for (let i = 0; i < n; i++) console.log(L[i]);
});
Python
N = int(input())
S = input().split()
for s in S:
print(s)
最後に
paiza の良いところは、関連する問題を段階的に出題してくれるところかと思います。めんどくさがらずに、1 問 1 問取り組むことで、身についている実感を得ることが出来ます。
正直、今日挑戦した問題なんて、簡単で、なんの役に立つかはわかりません! なんかの役には立つと思いますよ? それは、実際にやってみた際に、例えば、文字列なのにいつもの癖で .map(Number) をつけてしまった、みたいなミスから得られることだってあるはずです。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません