【AtCoder:7回目】AtCoder Beginner Contest 130の振り返り(Ruby)

【目次】

【本題】

振り返り

今回は 6/16(日)に開催されたAtCoder Beginner Contest 130の振り返りを行います。

今回は1問しか回答できませんでした・・・

やればやるほど成績落ちているのは気がする・・・

業務のキャッチアップ優先なので、アルゴリズム系の勉強する時間を確保できないのが口惜しい・・・

A - Rounding

問題文 X , A は 0 以上 9 以下の整数です。

X が A 未満の時 0 、 A 以上の時 10 を出力してください。

制約 0 ≤ X , A ≤ 9 入力は全て整数である

「X がA未満の時 0、A以上の時 10を出力」という特に捻りは無い内容です。

提出したコードはこちらです。

x,a=gets.split.map &:to_i
puts x>=a ? 10 : 0

B - Bounding

問題文 数直線上を N + 1 回跳ねるボールがあり、 1 回目は 座標 D 1

0 , i 回目は 座標 D i

D i − 1 + L i − 1 ( 2 ≤ i ≤ N + 1 ) で跳ねます。

数直線の座標が X 以下の領域でボールが跳ねる回数は何回でしょうか。

制約 1 ≤ N ≤ 100 1 ≤ L i ≤ 100 1 ≤ X ≤ 10000 入力は全て整数である

提出したコードはこちらです。

N, X = gets.split.map(&:to_i)
L = gets.split.map(&:to_i)

now = 0
bound = 1
L.each do |l|
  now += l
  break if now > X
  bound += 1
end
 
p bound

timesではなくeachで回すと上手く行きました。

N, X = gets.split.map(&:to_i)
L = gets.split.map(&:to_i)

now = 0
bound = 1
L.each do |l|
  now += l
  break if now > X
  bound += 1
end
 
p bound