diff --git a/2018/ruby/day_04.rb b/2018/ruby/day_04.rb index 2d32a81..36c3732 100644 --- a/2018/ruby/day_04.rb +++ b/2018/ruby/day_04.rb @@ -17,7 +17,13 @@ records.each do |record| end end +# Part One +guard, ranges = stats.max_by {|_,v| v.map(&:size).sum } +minute = ranges.flat_map(&:to_a).group_by {|x| x }.transform_values(&:count).max_by(&:last).first +p guard * minute + +# Part Two guard, (minute, _) = stats.map {|k,v| - [k, v.flat_map(&:to_a).group_by {|x| x }.max_by {|_,v| v.count }] -}.max_by {|_,(_,v)| v.count } + [k, v.flat_map(&:to_a).group_by {|x| x }.transform_values(&:count).max_by(&:last)] +}.max_by {|_,(_,v)| v } p guard * minute