日別アーカイブ: 2022年8月10日

paizaLvアップ問題と解答(標準出力10)Ruby

※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。

詳しくはコチラ

なるべくわかりやすい解説を付けました。

問題3 カンマ区切りで 10 個出力 1 (paizaランク D 相当)

10 個の数値が半角スペース区切りで与えられます。これらの数値すべて受け取り、そのまま出力してください。ただし、数値を出力した直後に必ずカンマを、末尾にはさらに改行も出力してください。

入力される値
N1 N2 N3 ... N10

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
答えの数値を出力してください。

N1,N2,N3,...,N10,

末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件
すべてのテストケースにおいて、以下の条件をみたします。

* 入力される数値はすべて 0 以上 1,000 以下
入力例1
0 1 2 3 4 5 6 7 8 9
出力例1
0,1,2,3,4,5,6,7,8,9,
入力例2
994 267 101 579 874 986 32 528 253 822
出力例2
994,267,101,579,874,986,32,528,253,822,

解答

#半角スペース刻みの入力値を受け取り配列を作成して変数に代入[5, 1] 
numbers = gets.split
#,(カンマ)を間に結合し、末尾にもカンマをつけて出力する 
puts numbers.join(',') + ","

問題4 カンマ区切りで 10 個出力 2 (paizaランク D 相当)

10 個の数値が半角スペース区切りで与えられます。これらの数値をカンマ区切りで出力してください。ただし、末尾にはカンマではなく改行を出力してください。

入力される値
N1 N2 N3 ... N10

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
答えの数値を出力してください。

N1,N2,N3,...,N10

末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件
すべてのテストケースにおいて、以下の条件をみたします。

* 入力される数値はすべて 0 以上 1,000 以下

入力例1
0 1 2 3 4 5 6 7 8 9
出力例1
0,1,2,3,4,5,6,7,8,9
入力例2
462 218 867 547 11 630 845 689 891 630
出力例2
462,218,867,547,11,630,845,689,891,630
#半角スペース刻みの入力値を受け取り配列を作成して変数に代入[5, 1] 
numbers = gets.split.map(&:to_i) 
#,(カンマ)を間に結合して出力する 
puts numbers.join(',')