# AoC 2018 Day 5: Alchemical reduction

### Source: Alchemical Reduction

Part 1:Given a string, reduce it by removing pairs of letters that are the same letter but different cases. Repeat until you have a minimal string.

Part 1:Given a string, reduce it by removing pairs of letters that are the same letter but different cases. Repeat until you have a minimal string.

Part 1:Given a log of guard shifts and times asleep/awake, calculate the guard that was asleep most often and which minute they were most asleep for.

Part 1:Given a list of overlapping regions defined by (left, top, width, height) count how many integer points occur in more than one region.

Part 1:Given a list of strings, count how many contain exactly two of a letter (`a`

) and how many contain exactly three of a letter (`b`

). Calculate`a*b`

.

Part 1:Given a list of numbers (positive and negative) calculate the sum.

Let’s do it again! I’m starting a day late, but much better than last year ðŸ˜„!

This time around, I’m hoping to solve each problem in both Python and Racket, both to show an example of how the languages differ and … well, because I can ðŸ˜‡.

*EDIT 2018-12-05*: Yeah… I’m not actually going to do these in both Racket and Python. The solutions are ending up being near direct translations. Since there are probably fewer people solving these in Racket, I’ll do that first and Python eventuallyâ„¢.

As always, these problems are wonderful to try to solve yourself. If you agree, *stop reading now*. This post isn’t going anywhere.

If you’d like to see the full form of any particular solution, you can do so on GitHub (including previous years and possibly some I haven’t written up yet): jpverkamp/advent-of-code