554ab0557eAdd Manhattan distance methods and `CoordinateNd` class for n-dimensionality support
Sebastian Lindemeier
2025-12-16 08:55:13 +0100
d878ab186eRefactor `Permutations` in `EnumerableExtensions` by extracting `RotateIndices` method to simplify and reuse index rotation logic
Sebastian Lindemeier
2025-12-16 08:00:03 +0100
9d4051ece1Refactor `Permutations` in `EnumerableExtensions`, add `PermutationsWithRepeats` method, and update tests for improved validation and clarity
Sebastian Lindemeier
2025-12-16 07:56:20 +0100
0665713725Add `CombinationsWithRepeats` method to `EnumerableExtensions` with corresponding tests
Sebastian Lindemeier
2025-12-15 13:45:21 +0100
149977d02fRefactor `Permutations` method in `EnumerableExtensions` to remove unnecessary logic and add validation for output count in tests
Sebastian Lindemeier
2025-12-15 11:54:40 +0100
acef1dd7d2Add `Permutations` method to `EnumerableExtensions` with corresponding tests
Sebastian Lindemeier
2025-12-15 11:05:51 +0100
56521d39d7Refactor `EnumerableExtensions` to simplify combination generation by removing `Range` method and streamlining index logic
Sebastian Lindemeier
2025-12-15 10:44:38 +0100
ee061757a8Refactor Day10 to simplify lamp parsing by removing redundant `.Index()` call and unnecessary LINQ chain
Sebastian Lindemeier
2025-12-15 10:28:06 +0100
0359bacf47Add subtraction and scalar multiplication operators to `Coordinate` and `Coordinate3d`
Sebastian Lindemeier
2025-12-15 10:21:43 +0100
ed3b577516Refactor Day12 to simplify LINQ usage in `GetMinTotalPresentArea` by replacing `.Select()` with `.Zip()`
Sebastian Lindemeier
2025-12-15 10:21:31 +0100
4a5eeb8cf0added test project for AdventOfCode.ExtensionsBuddhism80032025-12-14 16:26:21 +0100
dc0d579697switched the input arguments of teh downloader for better user experienceBuddhism80032025-12-14 16:07:47 +0100
3888fd23a8Used IntegerRange from HelperClasses in solutions for day 02Buddhism80032025-12-14 14:57:31 +0100
33eb7322a8Added unit test project for HelperClasses and tests for `IntegerRange.cs`. Implemented IEnumerable on IntegerRange.Buddhism80032025-12-14 14:45:13 +0100
bef54ff551Introduce regex-based methods `SolvePart1Regex` and `SolvePart2Regex` in Day02 for another invalid ID detection
Sebastian Lindemeier
2025-12-12 20:37:31 +0100
024eb77fbeRefactor Day10 to simplify LINQ usage in `GetButtonCombinations` by removing unnecessary `.Select()`
Sebastian Lindemeier
2025-12-12 20:20:50 +0100
0d0d1b2150Refactor Day10 to replace `GetPatternCosts` with `GetButtonCombinations` and introduce `ButtonCombination` record for improved readability and modularity
Sebastian Lindemeier
2025-12-12 20:19:45 +0100
f4b5111fa0Refactor Day10 to remove unoptimized methods, simplify input parsing, and improve readability and maintainability of lamp and joltage logic by consolidating bitmask logic
Sebastian Lindemeier
2025-12-12 20:11:53 +0100
1873ce8e66Refactor Day10 to optimize pattern cost calculation by introducing bitmasking and grouping logic (speedup from 7 sec to 0.2 sec)
Sebastian Lindemeier
2025-12-12 15:03:01 +0100
aaf32260d0Extract `Coordinate`, `IntegerRange` and `Coordinate3d` to new `AdventOfCode.HelperClasses` project and refactor solution for modularity and type consistency
Sebastian Lindemeier
2025-12-12 13:14:17 +0100
85516cd783Extract `IntArrayEqualityComparer` to new `AdventOfCode.HelperClasses` project and refactor solution to use the shared class
Sebastian Lindemeier
2025-12-12 12:39:31 +0100
d0b612154aExtract `Combinations` method to `AdventOfCode.Extensions` and refactor usages to improve modularity and reduce duplication
Sebastian Lindemeier
2025-12-12 12:35:01 +0100
d92293f631Refactor Day10 to rename variables for consistency and add `.ToArray()` in `ParsePuzzleInputUnoptimized` to optimize LINQ evaluation
Sebastian Lindemeier
2025-12-12 11:54:39 +0100
801b96de1dRefactor Day10 to rename variables and improve readability in `GetMinCountInternal`
Sebastian Lindemeier
2025-12-12 11:49:23 +0100
90b4e59171Refactor Day10 to rename variables in `GetJoltageLevelsForButtonPattern` for improved clarity
Sebastian Lindemeier
2025-12-12 11:46:07 +0100
ea4ccd11a5Finally able to remove Z3 from Day 10 thanks tenthmascot
Sebastian Lindemeier
2025-12-12 11:39:03 +0100
ab7af90af9Refactor Day12 to remove redundant `Where` in presentSizes calculation and adjust method modifier for `GetMinTotalPresentArea`
Sebastian Lindemeier
2025-12-12 07:02:25 +0100
cf4c79c4c1Comment out failing assertion in Day12Test for Part 1 input
Sebastian Lindemeier
2025-12-12 06:52:53 +0100
10b5648b9aAdd Day12 implementation with puzzle-solving logic and tests
Sebastian Lindemeier
2025-12-12 06:52:17 +0100
938f836e1fRefactor Day11 to replace loops with LINQ `Sum` for cleaner aggregation logic and comment out failing test in Day09
Sebastian Lindemeier
2025-12-11 15:04:25 +0100
3af6cc3233Refactor Day10 to enhance button and joltage handling, implement Z3 solver for Part 2 logic, and update tests accordingly
Sebastian Lindemeier
2025-12-11 12:05:45 +0100
3d305d80bfRefactor Day11 to handle missing paths in `paths` dictionary and improve variable usage readability
Sebastian Lindemeier
2025-12-11 08:55:02 +0100
8f64234925Add Day11 implementation with puzzle-solving logic and tests
Sebastian Lindemeier
2025-12-11 08:39:25 +0100
6621a36021Add Day10 implementation with puzzle-solving logic and tests
Sebastian Lindemeier
2025-12-11 06:02:07 +0100
82772fd4e0Refactor Day04 and Day09 to rename methods and variables for improved clarity and update Day09 tests with additional input file and test case
Sebastian Lindemeier
2025-12-11 06:01:54 +0100
411672d8c3Refactor Day08 and Day09 to update collection types and method names for improved consistency and clarity
Sebastian Lindemeier
2025-12-09 11:41:41 +0100
3360b6cfbaRefactor Day09 to rename RectangleOverlapsBorder to RectangleCrossesBorder for method clarity
Sebastian Lindemeier
2025-12-09 11:25:23 +0100
927810fb0cAdd execution logic for Days 07, 08, and 09 to Program.cs
Sebastian Lindemeier
2025-12-09 11:11:32 +0100
0101f506cbRefactor Day09 to rename MinMax to CoordinatePair and update related method names for consistency
Sebastian Lindemeier
2025-12-09 10:44:32 +0100
a043c574f5Add Day09 implementation with puzzle-solving logic and tests
Sebastian Lindemeier
2025-12-09 10:39:26 +0100
1b1c64b103Refactor Day08 to update data types, optimize method parameters, and improve test logic
Sebastian Lindemeier
2025-12-08 16:55:19 +0100
9d8a611f76Refactor Day08 to reorder methods and simplify circuit connection logic
Sebastian Lindemeier
2025-12-08 11:35:09 +0100
a3ac176602Refactor Day08 to rename variables and extract CreateCircuits method for clarity
Sebastian Lindemeier
2025-12-08 11:26:31 +0100
36d7a3f4e5Refactor Day08 to simplify AddToCircuits logic
Sebastian Lindemeier
2025-12-08 11:14:18 +0100
c559f61496Refactor Day08 to simplify circuit merge logic
Sebastian Lindemeier
2025-12-08 10:54:19 +0100
52bf32f692Refactor Day07 to rename variables and fix return type for timeline count methods
Sebastian Lindemeier
2025-12-08 10:32:56 +0100
249e092494Refactor Day07 to rename variables for clarity in timeline count recursion logic
Sebastian Lindemeier
2025-12-08 10:31:15 +0100
14e4a8dfe9Refactor Day07 to simplify timeline count logic and remove redundant methods
Sebastian Lindemeier
2025-12-08 10:19:31 +0100
92ef64fd88Refactor Day07 to extract common coordinate enqueue logic
Sebastian Lindemeier
2025-12-08 10:03:43 +0100
629467f376Refactor Day08 to improve readability with LINQ
Sebastian Lindemeier
2025-12-08 09:35:26 +0100
7a02ba6b0eRefactor Day08 to improve readability
Sebastian Lindemeier
2025-12-08 09:19:33 +0100
b60db3c78aRefactor Day08 to improve readability and speed
Sebastian Lindemeier
2025-12-08 09:13:17 +0100
04d9b2fd45Add Day 08 solution
Sebastian Lindemeier
2025-12-08 08:51:43 +0100
afc7997fa2Add another Day07 part 2 solution, that's way simpler
Sebastian Lindemeier
2025-12-08 07:00:50 +0100
62f46aff7dRefactor Day07 to extract node visited count update logic
Sebastian Lindemeier
2025-12-07 17:51:57 +0100
f0ac76df15Add Day 07 solution
Sebastian Lindemeier
2025-12-07 17:48:20 +0100
6e3d180550Refactor Day06 to simplify operand handling and with using Zip-LINQ method
Sebastian Lindemeier
2025-12-07 17:46:54 +0100
b03404fe6aRefactor Day06 to use LINQ for parsing numbers by column
Sebastian Lindemeier
2025-12-06 13:55:52 +0100
90be974d36Refactor Day06 to improve readability
Sebastian Lindemeier
2025-12-06 13:36:10 +0100
1edbfab132Refactor Day06 to use less ToArray()
Sebastian Lindemeier
2025-12-06 10:58:05 +0100
47f468ff68Add Day 06 solution, needs cleanup later
Sebastian Lindemeier
2025-12-06 10:54:11 +0100
fd417a6e97Refactor range combining logic for future reusability
Sebastian Lindemeier
2025-12-05 10:59:44 +0100
79541d0daesmall refactorings
Sebastian Lindemeier
2025-12-05 09:45:02 +0100
31caf429caRefactor Day04 to use Index() extension method
Sebastian Lindemeier
2025-12-05 09:04:27 +0100
0d028c4282Add another Day 05 part 2 solution with combining overlapping ranges
Sebastian Lindemeier
2025-12-05 07:57:59 +0100
1cd63a7188Remove unused method CountIdsInRange
Sebastian Lindemeier
2025-12-05 07:31:48 +0100
91ea80d2e3Add Day 05 solution
Sebastian Lindemeier
2025-12-05 07:25:59 +0100
389784ec76Replace hardcoded paths with environment variables
Sebastian Lindemeier
2025-12-04 22:14:43 +0100
1e98d90c33Add AoC 2025 project structure and first solutions
Sebastian Lindemeier
2025-12-04 21:40:42 +0100
c83642d286Add global.json to .gitignore
Sebastian Lindemeier
2025-12-04 21:40:21 +0100
6207b8bdc3Add .gitignore file
Sebastian Lindemeier
2025-12-04 21:39:48 +0100