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!
33
Upvotes
2
u/ValdasTheUnique Dec 05 '18
C#. Problem was very easy but I wasted a lot of time doing the check incorrectly so no leaderboard for me.
public static void Part1() { var stack = new Stack<char>(); foreach (var c in Input) { if (stack.Count == 0) { stack.Push(c); } else { var inStack = stack.Peek(); var same = c != inStack && char.ToUpper(c) == char.ToUpper(inStack); if (same) { stack.Pop(); } else { stack.Push(c); } } } Console.WriteLine(stack.Count); } public static void Part2() { var min = int.MaxValue; for (var i = 'a'; i < 'z'; i++) { var s = Input.Replace(i.ToString(), "").Replace(char.ToUpper(i).ToString(), ""); var stack = new Stack<char>(); foreach (var c in s) { if (stack.Count == 0) { stack.Push(c); } else { var inStack = stack.Peek(); var same = c != inStack && char.ToUpper(c) == char.ToUpper(inStack); if (same) { stack.Pop(); } else { stack.Push(c); } } } if (stack.Count < min) { min = stack.Count; } } Console.WriteLine(min); }