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.

Source: Chronal Calibration

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