日々精進

新しく学んだことを書き留めていきます

プログラミングコンテストチャレンジブック演習「区間スケジューリング問題」

今回のお題はこちら。

Rubyってint型の最大値って組み込み型の定数で定義されてたりしないんでしょうか。
C#のint.MaxValueみたいに。
後、Rubyでインクリメント演算子が使えないことにちょっとビックリしました。まぁ無くてもいいけど。。

startTimes = [1, 2, 4, 6, 8] #input
endTimes = [3, 5, 7, 9, 10] #input

now = 0
taskCount = 0
while(startTimes.max > now)
  endTime = 2**29
  for i in 0..(startTimes.length - 1)
    endTime = [endTime, endTimes[i]].min if now < startTimes[i]
  end
  now = endTime
  taskCount += 1
end

puts taskCount