This commit is contained in:
Sebastian Seedorf
2021-12-17 11:29:35 +01:00
parent 18c76f694b
commit 6ff4a25bf3
5 changed files with 202 additions and 0 deletions

18
day16/part1.py Normal file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/env python3
from day16.shared import parse_packets
lines = (x.strip() for x in open("input.txt"))
def sum_version(exprs):
return sum(expr[0] + (sum_version(expr[2]) if isinstance(expr[2], list) else 0) for expr in exprs)
for line in lines:
print("NEW LINE:", line)
if line[0] == '#':
continue
bin_string = ''.join(bin(int(c, 16))[2:].zfill(4) for c in line)
parsed = parse_packets(bin_string)
print(sum_version(parsed))