2023-12-08 21:46:28 -06:00
2023-12-03 23:03:46 -06:00
2023-12-04 10:44:37 -06:00
2023-12-06 14:42:07 -06:00
2023-12-06 20:30:37 -06:00
2023-12-07 19:35:40 -06:00
2023-12-09 21:19:05 -06:00
2023-12-11 02:03:46 -06:00
2023-12-11 02:03:46 -06:00
2023-12-11 02:19:07 -06:00
2023-12-20 00:22:59 -06:00
2023-12-20 00:22:59 -06:00
2023-12-20 00:22:59 -06:00
2023-12-20 13:35:37 -06:00
2023-12-01 21:39:12 -06:00
2023-12-01 12:29:02 -06:00
2023-12-20 00:23:57 -06:00

Advent of Code 2023

This repository contains my solutions for the Advent of Code 2023 challenge.

Language

I am using C# for this year's challenge. I'd consider myself proficient in C#, but on a day to day basis I don't use it as much and would just like to get more practice with it.

Structure

Each day's solution is contained in a separate folder. Each folder contains:

  • A PROBLEM.md file containing the problem description.
  • A INPUT.txt file containing the input for the problem.
  • A dotnet console application containing the solution.
  • An xUnit test project containing unit tests for the solution.

Prerequisites

Running the Solutions

To run the solutions, navigate to the solution folder and run the following command:

dotnet run -- <path-to-input-file>

Or for part 2 solutions

dotnet run -- <path-to-input-file> part2

You can also build the projects and run the executables directly.

dotnet build
./bin/Debug/net8.0/<project-name> <path-to-input-file>

Challenges

Day Problem Solution Status Notes
01 Problem Solution ✅ The trickiest part here was accounting for overlapping digit words.
02 Problem Solution ✅ The key to me here was to parse the input into a useful model.
03 Problem Solution ✅ The edge case that got me here was lines ending with a part number.
04 Problem Solution ✅ Part 2 gets out of hand quickly with just 200 cards.
05 Problem Solution ✅ I brute forced part 2 using parallelism. I know shame.
06 Problem Solution ✅ Thank goodness part 2 was not like 5's part 2. 😅
07 Problem Solution ✅ What took me longest here was I missed a case when jokers are wild and there are three groups of cards.
08 Problem Solution ✅ Got to implement a least common multiple algorithm for part 2.
09 Problem Solution ✅ Part 1 took me unnecessarily long. The bug was summing a line to check for all zeros is bad idea when negative numbers are involved.
10 Problem Solution ✅ So...my solutions are rather slow, but they work. Part 2 appears to have a mathematical solution, but scanning is what I came up with on my own.
11 Problem Solution ✅ Expanding the universe was fine in part 1, but part 2 showed I actually needed to calculate the expansion instead of expanding the input.
12 Problem Solution ✅ This one stretched my skills. I needed lots of help from the interwebz.
13 Problem Solution ✅ This solution is the one I think I'm most proud of so far.
14 Problem Solution ⌛
15 Problem Solution ⌛
16 Problem Solution ⌛
17 Problem Solution ⌛
18 Problem Solution ⌛
19 Problem Solution ⌛
20 Problem Solution ⌛
21 Problem Solution ⌛
22 Problem Solution ⌛
23 Problem Solution ⌛
24 Problem Solution ⌛
25 Problem Solution ⌛
S
Description
No description provided
Readme
336 KiB
0 Stars 1 Watchers 0 Forks
Languages
C# 100%