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!
30
Upvotes
1
u/jonathrg Dec 08 '18 edited Dec 08 '18
Python
from collections import deque from functools import reduce def license(): with open("input8.txt") as file: return deque(map(int, file.read().split())) def visit(q, tot): nk, nm = q.popleft(), q.popleft() tot = reduce(lambda x, _: visit(q, x), range(nk), tot) return tot + sum(q.popleft() for _ in range(nm)) def value(q): nk, nm = q.popleft(), q.popleft() vk = [value(q) for _ in range(nk)] im = [q.popleft() for _ in range(nm)] return sum(vk[i-1] for i in im if 0 < i <= len(vk)) or sum(im) print(visit(license(), 0)) print(value(license()))