-
Notifications
You must be signed in to change notification settings - Fork 0
/
day7p2.py
36 lines (25 loc) · 875 Bytes
/
day7p2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Advent of code
# day 7 puzzle 2
#
# (C) 2017 Steve Luzynski <steve@luzynski.net>
from collections import defaultdict
import json
def tree(): return defaultdict(tree)
def findBottom():
programs = tree()
with open('example.txt', 'rb') as f:
for row in f:
children = []
splitRow = row.partition('->')
head = splitRow[0].split(' ')
name = head[0]
weight = head[1].strip('()\n')
for inner in splitRow[2].rsplit():
children.append(inner.strip(','))
programs[name]['name'] = name
programs[name]['weight'] = weight
programs[name]['children'] = children
print(json.dumps(programs))
# i have no idea where to go from here. or if here is even a valid place to be.
# i may revisit this later but right now i'm stuck.
findBottom()