diff --git a/day_06.rb b/day_06.rb
index 5a99de2..c51aa3b 100644
--- a/day_06.rb
+++ b/day_06.rb
@@ -1,8 +1,8 @@
-lights = Hash.new {|h,k| h[k] = false }
+lights = Hash.new {|h,k| h[k] = 0 }
-instructions = { "turn on" => ->(_) { true },
- "turn off" => ->(_) { false },
- "toggle" => ->(light) { !light } }
+instructions = { "turn on" => ->(intensity) { intensity + 1 },
+ "turn off" => ->(intensity) { intensity.zero? ? 0 : intensity - 1 },
+ "toggle" => ->(intensity) { intensity + 2 } }
regex = /(turn on|turn off|toggle) (\d+),(\d+) through (\d+),(\d+)/
DATA.read.scan(regex).each do |instruction, x1,y1, x2,y2|
@@ -17,7 +17,7 @@ DATA.read.scan(regex).each do |instruction, x1,y1, x2,y2|
end
end
-puts lights.values.count {|light| light }
+puts lights.values.inject(&:+)
__END__
turn on 887,9 through 959,629