0
0

More than 1 year has passed since last update.

RubyでAtCoder ABC233(A, B, C)を解いてみた

Posted at

はじめに

Webエンジニアを目指して、RubyやRailsをいじってます。
今回は、RubyでAtCoder ABC233のA, B, Cを解きました。備忘録として解き方をまとめていきたいと思います。

A - 10yen Stamp

a-233.rb
x, y = gets.split.map(&:to_i)
y -= x
if y < 0
  puts 0
  exit
end

ans = y / 10
puts y % 10 == 0 ? ans : ans + 1

B - A Reverse

b-233.rb
l, r = gets.split.map(&:to_i)
l -= 1
r -= 1
s = gets.chomp
s[l..r] = s[l..r].chars.reverse.join
puts s

C - Product

c-233.rb
n, x  = gets.split.map(&:to_i)
array = Array.new(n){ gets.split.map(&:to_i)[1..] }
puts [1].product(*array).count{ _1.inject(:*) == x }

解説

(他の方の提出結果を参考にしました)

productメソッドを使って各配列から要素を1つ取得することができます。なお、*arrayの形にすることで配列を展開しています。そして、injectメソッドを使って各組み合わせにおける総積を求め、countメソッドでその値がXと一致しているものの数を求めています。

参考

0
0
0

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
0
0