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