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

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

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

詳しくはコチラ

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

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

2 つの数値が半角スペース区切りで与えられます。これらの数値をカンマ区切りで出力してください。

入力される値
N M

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

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

N,M

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

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

* 1 ≦ N, M ≦ 10

入力例1
5 1
出力例1
5,1
入力例2
2 1
出力例2
2,1

解答

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

問題2バーティカルライン区切りで 3 つの文字列を出力 (paizaランク D 相当)

3 つの文字列が改行区切りで与えられます。
これらの文字列をバーティカルライン | 区切りで出力してください。

入力される値
S1
S2
S3

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

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

S1|S2|S3

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

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

* すべての文字列の長さは 1 以上 10 以下
* すべての文字列は英小文字からなる
入力例1
paiza
kirishima
kyoko
出力例1
paiza|kirishima|kyoko
入力例2
tvnmmtuzwn
yykehmocjk
vwsqozutch
出力例2
tvnmmtuzwn|yykehmocjk|vwsqozutch

解答

#半角スペース刻みの入力値を受け取り配列を作成して変数に代入[5, 1]
numbers = gets.split.map(&:to_i)
#|(パイプ)を間に結合して出力する
puts numbers.join('|')