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

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

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

詳しくはコチラ

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

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

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

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

N
a_1
...
a_N

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

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

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

・1 ≦ N ≦ 100
・a_i (1 ≦ i ≦ N) は 1 以上 1,000 以下の実数
・また a_i は小数点以下 3 桁までの実数
入力例1
5
0.813
8.13
81.3
813
8138
出力例1
0.813
8.13
81.3
813
8138

解答

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

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

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

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

N
a_1 ... a_N

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

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

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

・1 ≤ N ≤ 100
・a_i (1 ≤ i ≤ N) は 1 以上 1,000 以下の実数
・また a_i は小数点以下 3 桁までの実数
入力例1
5
0.813 8.13 8 1.83 3.81
出力例1
0.813
8.13
8
1.83
3.81

解答

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