Day 12 - Advent of Code 2015
Working solutions for the day 12 puzzles.
Part One
""" day_12_01.py """
# usage: python3 day_12_01.py < input
import json
import sys
def sum_integers(data):
""" unpack json structure summing integers """
if isinstance(data, int):
return data
total = 0
if isinstance(data, list):
for i in data:
total += sum_integers(i)
elif isinstance(data, dict):
for i in data:
total += sum_integers(data[i])
return total
data_pack = json.load(sys.stdin)
print(sum_integers(data_pack))
Part Two
""" day_12_02.py """
# usage: python3 day_12_02.py < input
import json
import sys
def sum_integers(data):
""" unpack json structure summing integers """
if isinstance(data, int):
return data
total = 0
if isinstance(data, list):
for i in data:
total += sum_integers(i)
elif isinstance(data, dict):
if 'red' in data.values():
return 0
for i in data:
total += sum_integers(data[i])
return total
data_pack = json.load(sys.stdin)
print(sum_integers(data_pack))