from tools.aoc import AOCDay from typing import Any class Day(AOCDay): inputs = [ [ (7, "input6_test"), (5, "input6_test2"), (6, "input6_test3"), (10, "input6_test4"), (11, "input6_test5"), (1034, "input6_dennis"), (1042, "input6"), ], [ (19, "input6_test"), (23, "input6_test2"), (23, "input6_test3"), (29, "input6_test4"), (26, "input6_test5"), (2472, "input6_dennis"), (2980, "input6"), ] ] def get_start_distinct(self, count: int = 4): inp = self.getInput() for i in range(count - 1, len(inp)): if len(set(list(inp[i-(count - 1):i+1]))) == count: return i + 1 def part1(self) -> Any: return self.get_start_distinct() def part2(self) -> Any: return self.get_start_distinct(14) if __name__ == '__main__': day = Day(2022, 6) day.run(verbose=True)