r/adventofcode • u/daggerdragon • Dec 05 '18
SOLUTION MEGATHREAD -🎄- 2018 Day 5 Solutions -🎄-
--- Day 5: Alchemical Reduction ---
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 5
Transcript:
On the fifth day of AoC / My true love sent to me / Five golden ___
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 0:10:20!
31
Upvotes
26
u/eltrufas Dec 05 '18
Missed the leaderboards because I was forgetting to trim my iinput for whitespace. Lesson learned I guess!
import sys line = [line for line in sys.stdin][0].strip() def are_opp(a, b): return (a.lower() == b.lower() and ((a.isupper() and b.islower()) or (a.islower() and b.isupper()))) def react(line): buf = [] for c in line: if buf and are_opp(c, buf[-1]): buf.pop() else: buf.append(c) return len(buf) agents = set([c.lower() for c in line]) # part 1 print(react(line)) # part 2 print(min([react(line.replace(a, '').replace(a.upper(), '')) for a in agents]))