diff --git a/2019/ruby/day_08.rb b/2019/ruby/day_08.rb new file mode 100644 index 0000000..2e59ee6 --- /dev/null +++ b/2019/ruby/day_08.rb @@ -0,0 +1,17 @@ +image = ARGF.read.scan(/\d/).map(&:to_i) + +w = 25 +h = 6 + +# l = image.each_slice(w*h).min_by {|l| l.count(0) } +# p l.count(1) * l.count(2) + +layers = image.each_slice(w*h) +puts layers + .inject {|n,l| n.zip(l) } + .map(&:flatten) + .map {|layers| layers.drop_while {|p| p == 2 }.first } + .map {|p| p.zero? ? "█" : " " } + .each_slice(w) + .map(&:join) + .join("\n")