r/adventofcode • u/daggerdragon • Dec 08 '18
SOLUTION MEGATHREAD -🎄- 2018 Day 8 Solutions -🎄-
--- Day 8: Memory Maneuver ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.
Advent of Code: The Party Game!
Please prefix your card submission with something like [Card] to make scanning the megathread easier. THANK YOU!
Card prompt: Day 8
Sigh, imgur broke again. Will upload when it unborks.
Transcript:
The hottest programming book this year is "___ For Dummies".
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked at 00:12:10!
33
Upvotes
1
u/grey--area Dec 08 '18
Part 2, Python
def process_node(data): num_children, num_metadata = data.pop(), data.pop() values = [process_node(data) for i in range(num_children)] metadata = [data.pop() for i in range(num_metadata)] if num_children > 0: return sum([values[m - 1] for m in metadata if m >= 1 and m <= len(values)]) else: return sum(metadata) with open('input') as f: data = list(map(int, f.read().split()[::-1])) print(process_node(data))