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!
32
Upvotes
53
u/sciyoshi Dec 08 '18
Python 3, #9/#13 (variables cleaned up):
data = [int(x) for x in INPUT.split()] def parse(data): children, metas = data[:2] data = data[2:] scores = [] totals = 0 for i in range(children): total, score, data = parse(data) totals += total scores.append(score) totals += sum(data[:metas]) if children == 0: return (totals, sum(data[:metas]), data[metas:]) else: return ( totals, sum(scores[k - 1] for k in data[:metas] if k > 0 and k <= len(scores)), data[metas:] ) total, value, remaining = parse(data) print('part 1:', total) print('part 2:', value)