From fa688258ca8c8ba5b36cb00898056e87b8702933 Mon Sep 17 00:00:00 2001 From: Joscha Date: Tue, 6 Dec 2022 11:02:38 +0100 Subject: [PATCH] [py] Solve 2022_06 --- py/aoc/__init__.py | 3 ++- py/aoc/y2022/d06.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 py/aoc/y2022/d06.py diff --git a/py/aoc/__init__.py b/py/aoc/__init__.py index b752d90..477a115 100644 --- a/py/aoc/__init__.py +++ b/py/aoc/__init__.py @@ -4,7 +4,7 @@ from pathlib import Path from .y2020 import d10 from .y2021 import d14 -from .y2022 import d01, d02, d03, d04, d05 +from .y2022 import d01, d02, d03, d04, d05, d06 DAYS = { "2020_10": y2020.d10.solve, @@ -14,6 +14,7 @@ DAYS = { "2022_03": y2022.d03.solve, "2022_04": y2022.d04.solve, "2022_05": y2022.d05.solve, + "2022_06": y2022.d06.solve, } diff --git a/py/aoc/y2022/d06.py b/py/aoc/y2022/d06.py new file mode 100644 index 0000000..e025b10 --- /dev/null +++ b/py/aoc/y2022/d06.py @@ -0,0 +1,9 @@ +def scan(s, lookback): + for i in range(len(s) - lookback + 1): + if len(set(s[i : i + lookback])) == lookback: + return i + lookback + + +def solve(inputstr): + print(f"Part 1: {scan(inputstr, 4)}") + print(f"Part 2: {scan(inputstr, 14)}")