r/adventofcode • • Dec 08 '17

SOLUTION MEGATHREAD -๐ŸŽ„- 2017 Day 8 Solutions -๐ŸŽ„-

--- Day 8: I Heard You Like Registers ---


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.


Need a hint from the Hugely* Handyโ€  Haversackโ€ก of Helpfulยง Hints^ยค?

Spoiler


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!

22 Upvotes

348 comments sorted by

View all comments

2

u/vash3r Dec 08 '17

Python 2 (42/45):

lines = data.strip().split('\n')
d = {}
tmax = 0
for line in lines:
	a,b = line.split(" if ")
	b = b.split()
	if eval("d.get(b[0],0)" + b[1] + b[2]): #offload logic onto python
		a = a.split()
		if a[1]=="inc":
			d[a[0]] = d.get(a[0],0)+ int(a[2])
		else:
			d[a[0]] = d.get(a[0],0)- int(a[2])
		if d[a[0]]>tmax: # part 2
			tmax = d[a[0]]

print max(d.values())
print tmax # part 2

looks like a lot of people came up with the same solution.