※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。
詳しくはコチラ
なるべくわかりやすい解説を付けました。
問題1 2 * 2 の出力 (paizaランク D 相当)
4 つの数値 0, 8, 1, 3 をこの順に、2 行 2 列の形で出力してください。
ただし、数値の間には半角スペースを、各行の末尾には、半角スペースの代わりに改行を入れてください。
- 入力される値
- ありません。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
- 期待する出力
- 答えの数値を出力してください。
0 8 1 3
末尾に改行を入れ、余計な文字、空行を含んではいけません。
- 条件
- なし
解答
puts "0 8" puts "1 3"
または
puts [["0 8"],["1 3"]]
問題2 3 * 3 の出力 (paizaランク D 相当)
9 個の数値が半角スペース区切りで入力されます。この数値を 3 行 3 列の形式で出力してください。
具体的には、入力された数値を N_1 , N_2 , N_3 , …, N_9 とするとき、 1 行目にはN_1 からN_3 を、2 行目には N_4 から N_6 を、3 行目には N_7 から N_9 を出力してください。
ただし、数値の間には半角スペースを、各行の末尾には、半角スペースの代わりに改行を入れてください。
- 入力される値
-
N_1 N_2 N_3 ... N_9
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
- 期待する出力
- 答えの数値を出力してください。
N_1 N_2 N_3 N_4 N_5 N_6 N_7 N_8 N_9
末尾に改行を入れ、余計な文字、空行を含んではいけません。
- 条件
- すべてのテストケースにおいて、以下の条件をみたします。
* 入力される数値はすべて 0 以上 1,000 以下
- 入力例1
-
0 1 2 3 4 5 6 7 8
- 出力例1
-
0 1 2 3 4 5 6 7 8
解答
numbers = gets.split.each_slice(3).to_a numbers.size.times do |i| puts numbers[i].join(' ') end