diff --git a/2021/ruby/day_07.rb b/2021/ruby/day_07.rb new file mode 100644 index 0000000..8ddf55a --- /dev/null +++ b/2021/ruby/day_07.rb @@ -0,0 +1,9 @@ +positions = ARGF.read.split(?,).map(&:to_i) +min, max = positions.minmax +pos = (min..max).min_by {|i| + # positions.sum {|p| (p - i).abs } + positions.sum {|p| n = (p - i).abs; (n * (n + 1)) / 2 } +} + +# p positions.sum {|p| (p - pos).abs } +p positions.sum {|p| n = (p - pos).abs; (n * (n + 1)) / 2 }