【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