1
0

More than 3 years have passed since last update.

[Ruby] AtCoder過去問 B - Cycle Hit

Posted at

はじめに

RubyでAtCoderのB問題解いてみました。
私のレベル的にB問題のレベルが解いてて一番気持ちいいです。

C問題にもなれていかなくては。
それではよろしくお願いします。

問題はこちらからご確認ください↓

B- Cycle Hit

まずは入力の受け取り方ですが、配列に全ての入力を格納していきます。
空の配列を用意して、四つの入力を受け取るので繰り返し処理で4回放り込みます。

s = []
4.times do
  s << gets.chomp
end

これで配列の中に四つの入力が入りました。
あとはinclude?メソッドで、配列にH, 2B, 3B, HRの四つが存在するかを調べて、TrueならYesをFalseならNoを出力させればいいはずです。

s = []
4.times do
  s << gets.chomp
end

if s.include?("H") && s.include?("2B") && s.include?("3B") && s.include?("HR")
  puts "Yes"
else
  puts "No"
end

これでもし、全種類が格納されていなかったら、Noが返されます。
全種類あったらYes!

私はinclude?メソッドの使い方を間違えて一度は下記のような書き方をしてしまいました。

間違った解答
s = []
4.times do
  s << gets.chomp
end

if s.include?("H", "2B", "3B", "HR")
  puts "Yes"
else
  puts "No"
end

めちゃ恥ずかしい。。。

最後に

他の書き方コメントにて教えていただけると幸いです。

冒頭にも書きましたが、B問題が一番ちょうどよく気持ちいいです。
たまーに問題によってはC問題が解けるのですが。

そういえばpaizaとシュタゲのコラボが気になっています。
僕のレベルじゃ難しいかなあ。

1
0
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0