From 7c25aeafd77d18a31c7577151ce24f65beb6eba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Engl=C3=B6f=20Ytterstr=C3=B6m?= Date: Sun, 23 Nov 2025 16:13:50 +0100 Subject: [PATCH] Solve 2022 day 4 pt 1-2 --- 2022-python/output/day_04.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 2022-python/output/day_04.py diff --git a/2022-python/output/day_04.py b/2022-python/output/day_04.py new file mode 100644 index 0000000..7420aa9 --- /dev/null +++ b/2022-python/output/day_04.py @@ -0,0 +1,31 @@ +from output import ints + + +def solve(data): + p1 = sum(_p1(line) for line in data.split()) + p2 = sum(_p2(line) for line in data.split()) + return p1, p2 + + +def _p1(data): + a1, a2, b1, b2 = ints(data) + return (a1 >= b1 and a2 <= b2) or (b1 >= a1 and b2 <= a2) + + +def _p2(data): + a1, a2, b1, b2 = ints(data) + + return len(set(range(a1, a2 + 1)) & set(range(b1, b2 + 1))) > 0 + + +if __name__ == "__main__": + with open("./input/04.txt", "r") as f: + inp = f.read().strip() + + p1, p2 = solve(inp) + + print(p1) + print(p2) + + assert p1 == 507 + assert p2 == 897