コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }