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