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

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