private void SolvePart1() { var knotHasher = new Day10Solver(); var bitCount = Enumerable.Range(0, 128) .Select(i => knotHasher.KnotHash($"{_input}-{i}")) .Select(BitCountFromHex) .Sum(); Output.Answer(bitCount); }
internal void SolvePart2() { var knotHasher = new Day10Solver(); var bitField = Enumerable.Range(0, 128) .Select(i => knotHasher.KnotHash($"{_input}-{i}")) .Select(BitArrayFromHex) .ToArray(); var groupCount = 0; for (int i = 0; i < bitField.Length; i++) { for (var j = 0; j < bitField[0].Length; j++) { if (bitField[i][j]) { groupCount++; ZeroOutGroup(bitField, i, j); } } } Output.Answer(groupCount); }