43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
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)
|