Files
adventofcode/day-12/solution.py
Bert Peters 7a72d5f5d1 Import print_function
This makes sure that the code still runs in pypy properly.
2015-12-14 00:51:27 +01:00

25 lines
613 B
Python

from __future__ import print_function
import fileinput
import re
import json
def totals(obj):
if isinstance(obj, int):
return obj
if isinstance(obj, list):
return sum(totals(i) for i in obj)
if not isinstance(obj, dict) or "red" in list(obj.values()):
return 0
return sum(totals(i) for i in list(obj.values()))
fileData = ''.join(line for line in fileinput.input())
# Solve the first part by regex, no parsing needed.
pattern = re.compile(r"-?\d+")
total = sum(int(match) for match in pattern.findall(fileData))
data = json.loads(fileData)
print(total, totals(data))