private static async Task <int> SolveDayEightPartTwo() { string input = (await ReadInput <string>(8, Environment.NewLine)).First(); char[,] image = new Day8(input, 25, 6).DecodeImage(); for (int y = 0; y <= image.GetUpperBound(0); y++) { for (int x = 0; x <= image.GetUpperBound(1); x++) { Console.Write(image[y, x]); } Console.WriteLine(); } return(image.Length); }
private static async Task <int> SolveDayEight() { string input = (await ReadInput <string>(8, Environment.NewLine)).First(); var layers = new Day8(input, 25, 6).ConvertToLayers().ToArray(); var layerDetails = layers .Select(s => ( zeroes: s.Count(c => c == '0'), ones: s.Count(c => c == '1'), twos: s.Count(c => c == '2'))) .OrderBy(layer => layer.zeroes); var checksumLayer = layerDetails.First(); return(checksumLayer.ones * checksumLayer.twos); }