From 56f7b7d0c5e29e3ea345ab7dc2c7a3995053582b Mon Sep 17 00:00:00 2001 From: setop Date: Mon, 4 Dec 2023 10:59:56 +0100 Subject: [PATCH] day 4, part1 was quick ; I over-complicated part2 and lost time --- d04/part1.py | 14 ++++++++++++++ d04/part2.py | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 d04/part1.py create mode 100644 d04/part2.py diff --git a/d04/part1.py b/d04/part1.py new file mode 100644 index 0000000..d784ac5 --- /dev/null +++ b/d04/part1.py @@ -0,0 +1,14 @@ +import sys + +L = [l for l in sys.stdin.read().splitlines()] + +R = 0 +for l in L: + _, halves = l.split(':') + c1, c2 = halves.split('|') + s1 = set(map(int,c1.strip().split(' '))) + s2 = set(map(int,c2.strip().split(' '))) + n = len(s1&s2) + if n>0: + R+= 1 << (n-1) +print(R) diff --git a/d04/part2.py b/d04/part2.py new file mode 100644 index 0000000..b2e1465 --- /dev/null +++ b/d04/part2.py @@ -0,0 +1,15 @@ +import sys + +L = [[l,1] for l in sys.stdin.read().splitlines()] + +for i in range(len(L)): + l, k = L[i] + _, halves = l.split(':') + c1, c2 = halves.split('|') + s1 = set(map(int,c1.strip().split(' '))) + s2 = set(map(int,c2.strip().split(' '))) + n = len(s1&s2) + for j in range(n): + if i+j+1