日別アーカイブ: 2022年9月24日

paizaLvアップ問題と解答(標準入力12)Ruby

※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。

詳しくはコチラ

なるべくわかりやすい解説を付けました。

問題1 改行区切りでの N 個の文字列の入力 (paizaランク D 相当)

1 行目に整数 N が与えられます。
2 行目以降に、N 個の文字列 s_1, … , s_N が N 行で与えられます。
s_1, … , s_N を改行区切りで出力してください。

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N が、 2 行目から (N + 1) 行目に文字列 s_1, … , s_N が N 行で与えられます。

N
s_1
...
s_N

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
s_1, … , s_N を改行区切りで出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・1 ≦ N ≦ 100
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5
hello
paiza
813
paiza2020
Nice
出力例1
hello
paiza
813
paiza2020
Nice

解答

# 1行目の入力値(数値)を変数に代入する
n = gets.to_i
# 入力を1行ずつ受け取り出力を5回繰り返す
n.times { puts gets.chomp }

問題2 2 行目で与えられる N 個の文字列の入力 (paizaランク D 相当)

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

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N が、 2 行目に文字列 s_1, … , s_N が半角スペース区切りで与えられます。

N
s_1 ... s_N

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
s_1, … , s_N を改行区切りで出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・1 ≦ N ≦ 100
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5
paiza 813 paiza813 hello813 good
出力例1
paiza
813
paiza813
hello813
good

解答

# 1行目の入力値(数値)を変数に代入する
n = gets.to_i
# 半角スペース刻みで与えられる入力値を受け取り出力する
puts strings = gets.split