Day 16
This commit is contained in:
18
day16/part1.py
Normal file
18
day16/part1.py
Normal 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))
|
||||
|
||||
Reference in New Issue
Block a user