diff --git a/Day8/Day8.cs b/Day8/Day8.cs index 3bb3b7a..8f6583b 100644 --- a/Day8/Day8.cs +++ b/Day8/Day8.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; namespace Advent { @@ -15,9 +14,6 @@ namespace Advent var index = 0; - var minimumZeroCount = int.MaxValue; - var minimumZeroLayer = 0; - var layers = new List(); while (index < data.Length) @@ -29,6 +25,10 @@ namespace Advent index += (25 * 6); } + /* + var minimumZeroCount = int.MaxValue; + var minimumZeroLayer = 0; + var layerIndex = 0; foreach (var layer in layers) @@ -45,6 +45,34 @@ namespace Advent } Console.WriteLine(layers[minimumZeroLayer].Count(c => c == '1') * layers[minimumZeroLayer].Count(c => c == '2')); + */ + + var finalImage = new char[25 * 6]; + var startLayer = data.Length / (25 * 6) - 1; + + finalImage = layers[startLayer]; + + for (var layerIndex = startLayer - 1; layerIndex >= 0; layerIndex--) + { + var layer = layers[layerIndex]; + + for (var i = 0; i < layer.Length; i++) + { + if (layer[i] != '2') + finalImage[i] = layer[i]; + } + } + + var outputIndex = 1; + foreach (var c in finalImage) + { + Console.Write(c == '0' ? ' ' : '*'); + + if (outputIndex % 25 == 0) + Console.WriteLine(); + + outputIndex++; + } } } }