Advent of Code Solutions
I have set myself a personal challenge to try and get up to date with advent of code, a set of programming challenges released each December. Each day has 2 related problems, for a total of 50 problems per year. Each button below will show my code solving that problem. Green buttons where I have solved both problems of the day, orange where I have only solved the first one and red where I haven't solved either. Not started
Part 1 completed
Both parts completed
from util.input import get_input
import json
def part_1():
data = json.loads(get_input(2015, 12))
def sum_numbers(node):
if isinstance(node, dict):
return sum(sum_numbers(n) for n in node.values())
elif isinstance(node, list):
return sum(sum_numbers(n) for n in node)
elif isinstance(node, int):
return int(node)
elif isinstance(node, str):
return 0
return sum_numbers(data)
def part_2():
data = json.loads(get_input(2015, 12))
def sum_numbers(node):
if isinstance(node, dict):
if any(n == 'red' for n in node.values()):
return 0
else:
return sum(sum_numbers(n) for n in node.values())
elif isinstance(node, list):
return sum(sum_numbers(n) for n in node)
elif isinstance(node, int):
return int(node)
elif isinstance(node, str):
return 0
return sum_numbers(data)