20 lines
373 B
Crystal
20 lines
373 B
Crystal
require "advent"
|
|
|
|
input = input(2019, 8).chomp
|
|
layers = input.chars.each_slice(25*6).to_a
|
|
layer = layers.min_by(&.count('0'))
|
|
puts(layer.count('2') * layer.count('1'))
|
|
|
|
message = layers.reduce do |l1, l2|
|
|
l1.zip_with(l2) do |a1, a2|
|
|
next (a1 == '2') ? a2 : a1
|
|
end
|
|
end
|
|
|
|
6.times do |i|
|
|
25.times do |j|
|
|
print(message[25*i+j] == '1' ? '#' : ' ')
|
|
end
|
|
puts
|
|
end
|