Ruby」カテゴリーアーカイブ

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アップ問題と解答(標準入力8)Ruby

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

詳しくはコチラ

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

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

整数 a が与えられるので a を出力してください。

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

a

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

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

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

・a は 1 以上 10,000 以下の整数

入力例1
813
出力例1
813

解答

numbers = gets.to_i
puts numbers

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

整数 a, b が半角スペース区切りで与えられるので、改行区切りにして 2 行で出力してください。

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

a b

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

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

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

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

解答 半角スペース刻みで与えられる入力値を配列にして受け取り→[8, 13]putsで出力する

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

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

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

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

a_1 a_2 a_3 a_4 a_5

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

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

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

・a_1, a_2, a_3, a_4, a_5 は 1 以上 10,000 以下の整数
入力例1
2 0 8 1 3
出力例1
2
0
8
1
3

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

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

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

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

詳しくはコチラ

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

問題4 100 行の整数の入力 (paizaランク D 相当)

整数 a_1, a_2, … , a_99, a_100 が 100 行で与えられるので a_1, a_2, … , a_99, a_100 を 100 行で出力してください。

入力される値
以下の形式で標準入力によって与えられます。
整数 a_1, a_2, … , a_99, a_100 が 100 行で与えられます。

a_1
a_2
...
a_99
a_100

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

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

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

・a_1, a_2, ... , a_99, a_100 は 1 以上 10,000 以下の整数
入力例1
4090
4199
9064
6517
9620
4155
5688
8290
819
8733
4409
556
6223
6231
6625
6413
2680
3673
7074
1685
1173
5231
79
1563
111
2777
258
1499
2293
8928
8159
939
4871
4535
5801
6821
6424
9405
5510
2836
9544
3251
5292
6832
7779
6457
87
5800
8807
6286
4921
5469
8405
8971
2315
4291
6946
991
4564
5922
8021
5101
8390
7023
7458
9225
8617
92
4249
4640
1314
2197
605
7658
7667
5680
9998
3050
5911
2892
9780
5342
692
6618
5590
2901
2113
1667
7247
8755
150
6878
9835
554
9970
7940
452
7535
9976
4574
出力例1
4090
4199
9064
6517
9620
4155
5688
8290
819
8733
4409
556
6223
6231
6625
6413
2680
3673
7074
1685
1173
5231
79
1563
111
2777
258
1499
2293
8928
8159
939
4871
4535
5801
6821
6424
9405
5510
2836
9544
3251
5292
6832
7779
6457
87
5800
8807
6286
4921
5469
8405
8971
2315
4291
6946
991
4564
5922
8021
5101
8390
7023
7458
9225
8617
92
4249
4640
1314
2197
605
7658
7667
5680
9998
3050
5911
2892
9780
5342
692
6618
5590
2901
2113
1667
7247
8755
150
6878
9835
554
9970
7940
452
7535
9976
4574

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

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

問題5 1,000行の整数の入力

整数 a_1, a_2, … , a_999, a_1000 が 1,000 行で与えられるので a_1, a_2, … , a_999, a_1000 を 1,000 行で出力してください。

期待する出力

a_1, a_2, … , a_999, a_1000 を 1,000 行で出力してください。

入力例  (・・・で途中省略しています。)

1189
8004
7243
.
.
.

5095

期待する出力(・・・で途中省略しています。)

1189
8004
7243
.
.
.

5095

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

numbers = readlines.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)で複数行の入力値(数値)を受け取り変数に代入

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

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

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

詳しくはコチラ

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

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

整数 a が 1 行で与えられるので a を 1 行で出力してください。

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

a

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

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

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

・a は 1 以上 10,000 以下の整数

入力例1
813
出力例1
813

解答 gets.to_iで入力値(数値)を受け取り変数に代入

numbers = gets.to_i
puts numbers

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

整数 a, b が 2 行で与えられるので a, b を 2 行で出力してください。

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

a
b

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

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

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

・a, b は 1 以上 10,000 以下の整数

入力例1
81
3
出力例1
81
3

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

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

問題3 5 行の整数の入力 (paizaランク D 相当)

整数 a_1, a_2, a_3, a_4, a_5 が 5 行で与えられるので a_1, a_2, a_3, a_4, a_5 を 5 行で出力してください。

入力される値
以下の形式で標準入力によって与えられます。
整数 a_1, a_2, a_3, a_4, a_5 が 5 行で与えられます。

a_1
a_2
a_3
a_4
a_5

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

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

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

・a_1, a_2, a_3, a_4, a_5 は 1 以上 10,000 以下の整数
入力例1
1
2
3
4
5
出力例1
1
2
3
4
5

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

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

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

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

詳しくはコチラ

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

問題3 半角スペース区切りの 3 つの入力 (paizaランク D 相当)

文字列 s_1, s_2, s_3 が半角スペースで区切られて 1 行で与えられます。
各文字列を出力するごとに改行し 3 行で出力してください。

入力される値
以下の形式で標準入力によって与えられます。
文字列 s_1, s_2, s_3 が半角スペースで区切られて 1 行で与えられます。

s_1 s_2 s_3

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

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

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

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

・s_1, s_2, s_3 は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列

入力例1
good morning paiza
出力例1
good
morning
paiza

解答 #半角スペース刻みで与えられる入力値を配列にして受け取る→[“good”, “morning”, “paiza”]それをputsで出力する

#半角スペース刻みで与えられる入力値を配列にして受け取る→["good", "morning", "paiza"]
strings = gets.split
#出力する
puts strings

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

文字列 s_1, s_2, … s_9, s_10 が半角スペースで区切られて 1 行で与えられます。
各文字列を出力するごとに改行し 10 行で出力してください。

入力される値
以下の形式で標準入力によって与えられます。
文字列 s_1, s_2, … s_9, s_10 が半角スペースで区切られて 1 行で与えられます。

s_1 s_2 ... s_9 s_10

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

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

s_1
s_2
...
s_9
s_10

条件

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

・s_1, s_2, … s_9, s_10 は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列

入力例1
VypymzW25l 3xsXWAK NYwbs2MRC kh4 mr38o8W9 94 fEJ 6THlW fJFTy n
出力例1
VypymzW25l
3xsXWAK
NYwbs2MRC
kh4
mr38o8W9
94
fEJ
6THlW
fJFTy
n

解答 #半角スペース刻みで与えられる入力値を配列にして受け取る→[“VypymzW25l”, “3xsXWAK”, “NYwbs2MRC”, “kh4”, “mr38o8W9”, “94”, “fEJ”, “6THlW”, “fJFTy”, “n”]
それをputsで出力する

#半角スペース刻みで与えられる入力値を配列にして受け取る→["VypymzW25l", "3xsXWAK", "NYwbs2MRC", "kh4", "mr38o8W9", "94", "fEJ", "6THlW", "fJFTy", "n"]
 strings = gets.split
#出力する
puts strings

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

文字列 s_1, s_2, … s_999, s_1000 が半角スペースで区切られて 1 行で与えられます。
各文字列を出力するごとに改行し 1,000 行で出力してください。

期待する出力

入力された文字列 s_1, s_2, … s_999, s_1000 をそれぞれ改行区切りで出力してください。また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

入力例 (・・・で途中省略しています。)

FCrj 7A7SbR9i S ・・・pNeapDUhm

期待する出力 (・・・で途中省略しています。)

FCrj
7A7SbR9i
S
.
.
.
pNeapDUhm

解答

  1. 文字列を半角スペースごとに分割する
  2. putsで出力する
strings = gets.split
puts strings