554ab0557e
Add Manhattan distance methods and CoordinateNd class for n-dimensionality support
Sebastian Lindemeier2025-12-16 08:55:13 +01:00
d878ab186e
Refactor Permutations in EnumerableExtensions by extracting RotateIndices method to simplify and reuse index rotation logic
Sebastian Lindemeier2025-12-16 08:00:03 +01:00
9d4051ece1
Refactor Permutations in EnumerableExtensions, add PermutationsWithRepeats method, and update tests for improved validation and clarity
Sebastian Lindemeier2025-12-16 07:56:20 +01:00
0665713725
Add CombinationsWithRepeats method to EnumerableExtensions with corresponding tests
Sebastian Lindemeier2025-12-15 13:45:21 +01:00
149977d02f
Refactor Permutations method in EnumerableExtensions to remove unnecessary logic and add validation for output count in tests
Sebastian Lindemeier2025-12-15 11:54:40 +01:00
acef1dd7d2
Add Permutations method to EnumerableExtensions with corresponding tests
Sebastian Lindemeier2025-12-15 11:05:51 +01:00
56521d39d7
Refactor EnumerableExtensions to simplify combination generation by removing Range method and streamlining index logic
Sebastian Lindemeier2025-12-15 10:44:38 +01:00
ee061757a8
Refactor Day10 to simplify lamp parsing by removing redundant .Index() call and unnecessary LINQ chain
Sebastian Lindemeier2025-12-15 10:28:06 +01:00
0359bacf47
Add subtraction and scalar multiplication operators to Coordinate and Coordinate3dSebastian Lindemeier2025-12-15 10:21:43 +01:00
ed3b577516
Refactor Day12 to simplify LINQ usage in GetMinTotalPresentArea by replacing .Select() with .Zip()Sebastian Lindemeier2025-12-15 10:21:31 +01:00
4a5eeb8cf0
added test project for AdventOfCode.Extensions
Buddhism80032025-12-14 16:26:21 +01:00
dc0d579697
switched the input arguments of teh downloader for better user experience
Buddhism80032025-12-14 16:07:47 +01:00
0b0f4eabb4
Added a Downloader for AoC puzzle inputs
Buddhism80032025-12-14 16:06:38 +01:00
3888fd23a8
Used IntegerRange from HelperClasses in solutions for day 02
Buddhism80032025-12-14 14:57:31 +01:00
33eb7322a8
Added unit test project for HelperClasses and tests for IntegerRange.cs. Implemented IEnumerable on IntegerRange.
Buddhism80032025-12-14 14:45:13 +01:00
bef54ff551
Introduce regex-based methods SolvePart1Regex and SolvePart2Regex in Day02 for another invalid ID detection
Sebastian Lindemeier2025-12-12 20:37:31 +01:00
024eb77fbe
Refactor Day10 to simplify LINQ usage in GetButtonCombinations by removing unnecessary .Select()Sebastian Lindemeier2025-12-12 20:20:50 +01:00
0d0d1b2150
Refactor Day10 to replace GetPatternCosts with GetButtonCombinations and introduce ButtonCombination record for improved readability and modularity
Sebastian Lindemeier2025-12-12 20:19:45 +01:00
f4b5111fa0
Refactor Day10 to remove unoptimized methods, simplify input parsing, and improve readability and maintainability of lamp and joltage logic by consolidating bitmask logic
Sebastian Lindemeier2025-12-12 20:11:53 +01:00
1873ce8e66
Refactor Day10 to optimize pattern cost calculation by introducing bitmasking and grouping logic (speedup from 7 sec to 0.2 sec)
Sebastian Lindemeier2025-12-12 15:03:01 +01:00
aaf32260d0
Extract Coordinate, IntegerRange and Coordinate3d to new AdventOfCode.HelperClasses project and refactor solution for modularity and type consistency
Sebastian Lindemeier2025-12-12 13:14:17 +01:00
85516cd783
Extract IntArrayEqualityComparer to new AdventOfCode.HelperClasses project and refactor solution to use the shared class
Sebastian Lindemeier2025-12-12 12:39:31 +01:00
d0b612154a
Extract Combinations method to AdventOfCode.Extensions and refactor usages to improve modularity and reduce duplication
Sebastian Lindemeier2025-12-12 12:35:01 +01:00
d92293f631
Refactor Day10 to rename variables for consistency and add .ToArray() in ParsePuzzleInputUnoptimized to optimize LINQ evaluation
Sebastian Lindemeier2025-12-12 11:54:39 +01:00
801b96de1d
Refactor Day10 to rename variables and improve readability in GetMinCountInternalSebastian Lindemeier2025-12-12 11:49:23 +01:00
90b4e59171
Refactor Day10 to rename variables in GetJoltageLevelsForButtonPattern for improved clarity
Sebastian Lindemeier2025-12-12 11:46:07 +01:00
ab7af90af9
Refactor Day12 to remove redundant Where in presentSizes calculation and adjust method modifier for GetMinTotalPresentAreaSebastian Lindemeier2025-12-12 07:02:25 +01:00
938f836e1f
Refactor Day11 to replace loops with LINQ Sum for cleaner aggregation logic and comment out failing test in Day09
Sebastian Lindemeier2025-12-11 15:04:25 +01:00
3af6cc3233
Refactor Day10 to enhance button and joltage handling, implement Z3 solver for Part 2 logic, and update tests accordingly
Sebastian Lindemeier2025-12-11 12:05:45 +01:00
3d305d80bf
Refactor Day11 to handle missing paths in paths dictionary and improve variable usage readability
Sebastian Lindemeier2025-12-11 08:55:02 +01:00
82772fd4e0
Refactor Day04 and Day09 to rename methods and variables for improved clarity and update Day09 tests with additional input file and test case
Sebastian Lindemeier2025-12-11 06:01:54 +01:00
411672d8c3
Refactor Day08 and Day09 to update collection types and method names for improved consistency and clarity
Sebastian Lindemeier2025-12-09 11:41:41 +01:00
3360b6cfba
Refactor Day09 to rename RectangleOverlapsBorder to RectangleCrossesBorder for method clarity
Sebastian Lindemeier2025-12-09 11:25:23 +01:00
0101f506cb
Refactor Day09 to rename MinMax to CoordinatePair and update related method names for consistency
Sebastian Lindemeier2025-12-09 10:44:32 +01:00