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

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

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

詳しくはコチラ

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

問題4 10 個の整数の半角スペース区切りの入力 (paizaランク D 相当)

整数 a_1, a_2, … , a_9, a_10 が半角スペース区切りで与えられるので、改行区切りにして 10 行で出力してください。

入力される値
以下の形式で標準入力によって与えられます。
整数 a_1, a_2, … , a_9, a_10 が 半角スペース区切りで与えられます。

a_1 a_2 ... a_9 a_10

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

文字列は標準入力から渡されます。

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

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

・a_1, a_2, ... , a_9, a_10 は 1 以上 10,000 以下の整数
入力例1
10 9 8 7 6 5 4 3 2 1
出力例1
10
9
8
7
6
5
4
3
2
1

解答 半角スペース刻みで与えられる入力値を配列にして受け取り→[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]putsで出力する

numbers = gets.split.map(&:to_i) 
puts numbers

FINAL問題  1,000個の整数の半角スペース区切りの入力

整数 a_1, a_2, … , a_999, a_1000 が半角スペース区切りで与えられるので、改行区切りにして 1000 行で出力してください。

期待する出力

a_1, a_2, … , a_999, a_1000 を 1000 行で出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

入力例

5294 3387 953 7129 ・・・ 4344

期待する出力

5294 3387 953 7129 ・・・ 4344

解答 readlines.map(&:to_i)で複数行の入力値(数値)を受け取り変数に代入してputsで出力する

numbers = readlines.map(&:to_i)
puts numbers