※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。
詳しくはコチラ
なるべくわかりやすい解説を付けました
問題1 2 つの文字列を出力 (paizaランク D 相当)
文字列 S, T が与えられます。S + T = ST という形式で文字列を出力してください。
- 入力される値
- 
S T 入力値最終行の末尾に改行が1つ入ります。 
 文字列は標準入力から渡されます。
- 期待する出力
- 答えの文字列を出力してください。
S + T = ST 末尾に改行を入れ、余計な文字、空行を含んではいけません。 
- 条件
- すべてのテストケースにおいて、以下の条件をみたします。
* S, T の長さは 1 以上 100 以下 
 * S, T の各文字はアルファベット大文字または小文字である
- 入力例1
- 
kirishima kyoko 
- 出力例1
- 
kirishima + kyoko = kirishimakyoko 
- 入力例2
- 
S T 
- 出力例2
- 
S + T = ST 
解答
#2行の入力値を受け取る a, b = readlines.map(&:chomp) #問題文のようになるように記述する(半角スペースの数に注意する) puts a + " + " + b + " = " + a + b
問題2 文字列と N 個の整数の出力 (paizaランク C 相当)
自然数 N, A, B が与えられます。(A, B) という形式の文字列を N 回、カンマと半角スペース区切りで出力してください。
- 入力される値
-  
N A B 入力値最終行の末尾に改行が1つ入ります。 
 文字列は標準入力から渡されます。
- 期待する出力
- 答えの文字列を出力してください。
(A_1, B_1), (A_2, B_2), ... , (A_N, B_N) 末尾に改行を入れ、余計な文字、空行を含んではいけません。 
- 条件
- すべてのテストケースにおいて、以下の条件をみたします。
* N は 1 以上 100 以下 
 * A, Bは 10 以上 99 以下
- 入力例1
- 
3 10 99 
- 出力例1
- 
(10, 99), (10, 99), (10, 99) 
- 入力例2
- 
2 33 44 
- 出力例2
- 
(33, 44), (33, 44) 
解答
#1行目の入力値を文字列として受け取る
n,a,b = gets.split
#問題文のようになるように記述する(半角スペースの数に注意する)
puts (["(" + a + ", " + b + ")"] * n.to_i).join(',')
※ポイント (入力例1で解説)
 (["(" + a + ", " + b + ")"])
↑の部分を出力すると["(10, 99)"]
* n.to_i).join(',')
