# AoC 2018 Day 9: Marble Madness

### Source: Marble Mania

Part 1: Place marbles in a circle such that each marble is placed by skipping one place except for marbles divisible by 23. For those, don’t place them, skip back 7 places, and remove that marble as well. Add these two marbles to your current score.

Given a specific player count and last marble, what’s the highest score?

# AoC 2018 Day 8: Checksum Treeification

### Source: The Sum of Its Parts

Part 1: A custom tree data structure is defined as:

• child count
• child count additional subtrees (recursive)
• metadata count metadata nodes

Calculate the sum of all metadata nodes.

# AoC 2018 Day 7: Job Simulator

### Source: The Sum of Its Parts

Part 1: Given a list of job dependencies (job A must be before job B), determine the order jobs must be done in. Break ties lexicographically.

# AoC 2018 Day 6: Infinite Area Simulator

### Source: Chronal Coordinates

Part 1: Given a list of points, calculate the region of points closest to each point (using Manhattan distance). Return the size of the largest non-infinite region.

# 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.

# AoC 2018 Day 4: Sleeping on the job

### Source: Repose Record

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.

# AoC 2018 Day 3: Regionification

### Source: No Matter How You Slice It

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.

# AoC 2018 Day 2: Counting letters

### Source: Inventory Management System

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.

# AoC 2018 Day 1: Sum-thing to start with

### Source: Chronal Calibration

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

# Advent of Code 2018

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