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

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

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

詳しくはコチラ

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

問題3 整数の組からの選択 (paizaランク D 相当)

1 行目に整数 N が与えられます。
2 行目以降に、N 組の整数 a_i と b_i が N 行で与えられます。(1 ≦ i ≦ N)
8 組目の 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つ入ります。
文字列は標準入力から渡されます。

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

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

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

解答

# 1行目の入力値(数値)を変数に代入する 
n = gets.to_i
# 入力を1行ずつ受け取り出力を5回繰り返す 
n.times.map do |i| 
# 半角スペース刻みの入力値を変数に代入する 
  numbers = gets.split.join(' ')
# 8番目を出力する(配列は0から始まるので8-1で7) 
  puts numbers if i == 7
end

問題4 文字列と整数の組の入力 (paizaランク D 相当)

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

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

N
s_1 a_1
...
s_N a_N

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

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

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

・N は 1 以上 100 以下の整数
・a_i は 1 以上 10,000 以下の整数
・s_i は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5
paiza 813
pa 81
8pa 13
iza 8
pa 13
出力例1
paiza 813
pa 81
8pa 13
iza 8
pa 13

解答

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

FINAL問題【組になったデータの入力】文字列と整数の組からの選択 (paizaランク D 相当)

1 行目に整数 N が与えられます。
2 行目以降に、N 組の文字列 s_i と整数 a_i が N 行で与えられます。
8 組目の s_i と a_i を出力してください。

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

N
s_1 a_1
...
s_N a_N

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

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

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

・N は 8 以上 100 以下の整数
・a_i は 1 以上 10,000 以下の整数
・s_i は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
10
paiza 813
pa 81
8pa 13
iza 8
pa 13
pai 3
zi 8
pp 33
pa 8
pa 138
出力例1
pp 33

解答

# 1行目の入力値(数値)を変数に代入する 
n = gets.to_i
# 入力を1行ずつ受け取り出力を5回繰り返す 
n.times.map do |i| 
# 半角スペース刻みの入力値を変数に代入する 
  numbers = gets.split.join(' ')
# 8番目を出力する(配列は0から始まるので8-1で7) 
  puts numbers if i == 7
end

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(' ') }

 

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

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

詳しくはコチラ

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

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

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

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N と N 個の実数 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 8.13 81.3 813 0.813 1.381
出力例1
8.13
81.3
813
0.813
1.381

解答

# 1行目の入力値(数値)を変数に代入する 
numbers = gets.split
# 配列の最初を取り出す
numbers.shift
 # 入力を1行ずつ受け取り出力を5回繰り返す 
puts numbers

問題4 2 行目で与えられる N 個の実数の入力 (large) (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 ≦ 10,000
・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

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

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

入力される値

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

N a_1 ... a_N

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

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

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

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

解答

# 1行目の入力値(数値)を変数に代入する 
numbers = gets.split
# 配列の最初を取り出す
numbers.shift
# 入力を1行ずつ受け取り出力を5回繰り返す 
puts numbers

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

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

詳しくはコチラ

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

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

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

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N と N 個の実数 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 8.13 81.3 813 0.813 1.381
出力例1
8.13
81.3
813
0.813
1.381

解答

# 半角スペース刻みで与えられる入力値を変数に代入する
numbers = gets.split
# 配列の最初を取り出す
numbers.shift
# 出力する
puts numbers

2 行目で与えられる N 個の実数の入力 (large) (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.split
# 入力を1行ずつ受け取り出力を5回繰り返す 
puts gets.split

問題3 2 行目で与えられる N 個の実数の入力 (large) (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 ≦ 10,000
・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.split
# 入力を1行ずつ受け取り出力を5回繰り返す 
puts gets.split

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

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

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

詳しくはコチラ

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

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

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

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N と N 個の文字列 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 Hello World!
出力例1
paiza
813
paiza813
Hello
World!

解答 配列として受け取り[“5”, “paiza”, “813”, “paiza813”, “Hello”, “World!”]

.shiftで配列の最初を取り出す

出力する→[ “paiza”, “813”, “paiza813”, “Hello”, “World!”]

# 1行目の半角スペースで刻みの入力値(数値)を変数に代入する 
strings = gets.split
# 配列の最初の5を取り出す(破壊的に) 
strings.shift
# 出力する
puts strings

問題4 2 行目で与えられる N 個の文字列の入力 (large) (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 ≦ 10,000
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5
813 paiza pa13 Hello World!
出力例1
813
paiza
pa13
Hello
World!

解答

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

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

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

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

N s_1 ... s_N

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

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

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

・1 ≦ N ≦ 10,000
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5 813 paiza 8iza Hello Paiza!
出力例1
813
paiza
8iza
Hello
Paiza!

解答 問題3と同じ

# 1行目の半角スペースで刻みの入力値(数値)を変数に代入する 
strings = gets.split 
# 配列の最初の5を取り出す(破壊的に) 
strings.shift 
# 出力する 
puts strings

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

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

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

詳しくはコチラ

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

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

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

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

N a_1 ... a_N

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

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

a_1
...
a_N

条件

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

・入力はすべて整数
・1 ≦ N ≦ 100
・1 ≦ a_i ≦ 10,000 (1 ≦ i ≦ N)
入力例1
13 5085 2923 8669 3231 7032 73 2683 8317 5545 9774 7179 2646 2470
出力例1
5085
2923
8669
3231
7032
73
2683
8317
5545
9774
7179
2646
2470

解答

# 空の配列で初期化
numbers = []
#入力値の最初をnに代入して、それ以外をnumbersに代入する
n,numbers = gets.split.map.with_index { |val, i| i == 0 ? n = val : numbers << val.to_i } 
#出力する
puts numbers

問題4 2 行目で与えられる N 個の整数の入力 (large) (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 ≦ 1,000
・1 ≦ a_i ≦ 10,000 (1 ≦ i ≦ N)
入力例1
5
8 1 3 10 100
出力例1
8
1
3
10
100

解答

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

FINAL問題【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large) (paizaランク D 相当)

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

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

N a_1 ... a_N

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

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

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

・入力はすべて整数
・1 ≦ N ≦ 1,000
・1 ≦ a_i ≦ 10,000 (1 ≦ i ≦ N)
入力例1
5 8 1 3 1 3
出力例1
8
1
3
1
3

解答

# 空の配列で初期化 
numbers = [] 
#入力値の最初をnに代入して、それ以外をnumbersに代入する 
n,numbers = gets.split.map.with_index { |val, i| i == 0 ? n = val : numbers << val.to_i } 
#出力する 
puts numbers

paizaLvアップ問題と解答(標準入力10)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
・1 ≦ a_i ≦ 10,000 (1 ≦ i ≦ N)
入力例1
20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
出力例1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

解答 1行目の入力値(数値)を受け取り変数に代入する
20回1行ずつ入力値を出力することを繰り返す

n = gets.to_i
n.times { puts gets.to_i }

問題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
・1 ≦ a_i ≦ 10,000 (1 ≦ i ≦ N)
入力例1
6
6561 3785 6338 9568 4956 557

出力例1
6561
3785
6338
9568
4956
557

解答

n = gets.to_i 
numbers = gets.split.map(&:to_i)
n.times { |i| puts numbers[i] }

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