※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。
詳しくはコチラ
なるべくわかりやすい解説を付けました。
問題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
					