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

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

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

詳しくはコチラ

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

問題1 1 つの整数の組の入力 (paizaランク D 相当)

1 行目で 1 組の整数 a, b が与えられます。
a と b をそのまま出力してください。

入力される値
以下の形式で標準入力によって与えられます。
1 行目に 1 組の整数 a, bが与えられます。

a b

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

期待する出力
a と b をそのまま出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・a, b は 1 以上 10,000 以下の整数
入力例1
8 13
出力例1
8 13

解答  入力値を受け取ったあと.join(‘ ‘)で半角スペースで刻みで出力する

puts gets.split.join(' ')

問題2 N 組の整数の入力 (paizaランク D 相当)

1 行目に整数 N が与えられます。
2 行目以降に、N 組の整数 a_i と b_i が N 行で与えられます。(1 ≦ i ≦ N)
N 組の a_i と b_i を改行区切りで出力してください。

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

N
a_1 b_1
...
a_N b_N

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

期待する出力
N 組の a_i と b_i を改行区切りで出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・N は 1 以上 100 以下の整数
・a_i, b_i は 1 以上 10,000 以下の整数 (1 ≦ i ≦ N)
入力例1
5
813 813
8 13
81 1
81 3
8 813
出力例1
813 813
8 13
81 1
81 3
8 813

解答

# 1行目の入力値(数値)を変数に代入する 
n = gets.to_i
# 入力を1行ずつ受け取り半角スペースで刻みの出力を5回繰り返す 
n.times.map { puts gets.split.join(' ') }