##はじめに
こんにちは、本日もAtCoderの解答を書き残して行こうと思います。
本日は、先日勉強していた時に出てきた解答うまく使って解けたので、
そちらを紹介して参ります。
##どんな問題を解いたか
私が今回解いた問題は、
「0~9までの数字が3つ与えられ、それらのうち2つが同じであるかいなか」を求める問題でした。
##私の解答
早速ですが、私の解答は以下のようになりました。
sample.rb
a,b,c = gets.split(' ').map(&:to_i)
puts [a,b,c].uniq.size == 2 ? 'Yes' : 'No'
こだわりポイントとしては、
1.a,b,cを[]で囲うことで配列にしているところ
2.a,b,cの重複をuniqで確認しているところ
3.三項演算子を使って出力文字を制御しているところ
です。
1に関しては、別に分けなくても1つの配列にしてしまえばよかった気もしますが、
問題に乗っ取って再現しました。
また、普段は結構if文で条件分岐して書いてしまいますが、
今回は三項演算子ですっきり書くことができました。
他の人の解答をみていても、方向性はだいたい合っていたので、
結構嬉しかったです!
A問題なので、簡単ではありますが、
解けたことよりも、書き方がそれらしくなったかな?というところに
喜びを覚えてます。
これからも綺麗でスッキリしたコーディングを追求していきたいところです。
それでは、また。