mirror of
https://github.com/bertptrs/adventofcode.git
synced 2025-12-25 21:00:31 +01:00
24 lines
562 B
Python
24 lines
562 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 obj.values():
|
|
return 0
|
|
|
|
return sum(totals(i) for i in 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)
|