【AtCoder:6回目】diverta 2019 Programming Contest 2の振り返り(Ruby)
【目次】
【本題】
振り返り
今回は 6/9(日)に開催されたAtCoder Beginner Contest 129の振り返りを行います。
今回は1問しか回答できませんでした・・・
やっぱりアルゴリズムの勉強しないと、300点以上の問題を突破するのは厳しいですね・・・
業務のキャッチアップがあるので、なかなか勉強する時間が取れない・・・
A - Ball Distribution
問題文 高橋君は N 個のボールを K 人に配ろうとしています。
それぞれの人がボールを 1 個以上受け取るような配り方の中で、ボールが最も多い人と最も少ない人のボールの個数の差が最大で何個になるか求めてください。
制約 1 ≤ K ≤ N ≤ 100 入力は全て整数である
全員に1個づつボールを配り切って、残りを一人に配れば、それが差が最大になるパターンです。
また、一人しかいない場合は、差は0にする必要があります。
そう考えて、作ったコードがこちらです。
n,k=gets.split.map &:to_i if k == 1 puts 0 else puts n - k end
でも、もっと良い方法がありました。
n,k=gets.split.map &:to_i
puts n%k
剰余を求めても同じ結果が得られました・・・