Files
adventofcode/day-12/solution.py
2015-12-14 00:29:02 +01:00

24 lines
575 B
Python

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))