Commit Graph

49 Commits

Author SHA1 Message Date
Sebastian Lindemeier f4b5111fa0 Refactor Day10 to remove unoptimized methods, simplify input parsing, and improve readability and maintainability of lamp and joltage logic by consolidating bitmask logic 2025-12-12 20:11:53 +01:00
Sebastian Lindemeier 1873ce8e66 Refactor Day10 to optimize pattern cost calculation by introducing bitmasking and grouping logic (speedup from 7 sec to 0.2 sec) 2025-12-12 15:03:01 +01:00
Sebastian Lindemeier aaf32260d0 Extract `Coordinate`, `IntegerRange` and `Coordinate3d` to new `AdventOfCode.HelperClasses` project and refactor solution for modularity and type consistency 2025-12-12 13:14:17 +01:00
Sebastian Lindemeier 85516cd783 Extract `IntArrayEqualityComparer` to new `AdventOfCode.HelperClasses` project and refactor solution to use the shared class 2025-12-12 12:39:31 +01:00
Sebastian Lindemeier d0b612154a Extract `Combinations` method to `AdventOfCode.Extensions` and refactor usages to improve modularity and reduce duplication 2025-12-12 12:35:01 +01:00
Sebastian Lindemeier d92293f631 Refactor Day10 to rename variables for consistency and add `.ToArray()` in `ParsePuzzleInputUnoptimized` to optimize LINQ evaluation 2025-12-12 11:54:39 +01:00
Sebastian Lindemeier 801b96de1d Refactor Day10 to rename variables and improve readability in `GetMinCountInternal` 2025-12-12 11:49:23 +01:00
Sebastian Lindemeier 90b4e59171 Refactor Day10 to rename variables in `GetJoltageLevelsForButtonPattern` for improved clarity 2025-12-12 11:46:07 +01:00
Sebastian Lindemeier ea4ccd11a5 Finally able to remove Z3 from Day 10 thanks tenthmascot 2025-12-12 11:39:03 +01:00
Sebastian Lindemeier ab7af90af9 Refactor Day12 to remove redundant `Where` in presentSizes calculation and adjust method modifier for `GetMinTotalPresentArea` 2025-12-12 07:02:25 +01:00
Sebastian Lindemeier 10b5648b9a Add Day12 implementation with puzzle-solving logic and tests 2025-12-12 06:52:17 +01:00
Sebastian Lindemeier 938f836e1f Refactor Day11 to replace loops with LINQ `Sum` for cleaner aggregation logic and comment out failing test in Day09 2025-12-11 15:04:25 +01:00
Sebastian Lindemeier 3af6cc3233 Refactor Day10 to enhance button and joltage handling, implement Z3 solver for Part 2 logic, and update tests accordingly 2025-12-11 12:05:45 +01:00
Sebastian Lindemeier 3d305d80bf Refactor Day11 to handle missing paths in `paths` dictionary and improve variable usage readability 2025-12-11 08:55:02 +01:00
Sebastian Lindemeier 8f64234925 Add Day11 implementation with puzzle-solving logic and tests 2025-12-11 08:39:25 +01:00
Sebastian Lindemeier 6621a36021 Add Day10 implementation with puzzle-solving logic and tests 2025-12-11 06:02:07 +01:00
Sebastian Lindemeier 82772fd4e0 Refactor Day04 and Day09 to rename methods and variables for improved clarity and update Day09 tests with additional input file and test case 2025-12-11 06:01:54 +01:00
Sebastian Lindemeier 411672d8c3 Refactor Day08 and Day09 to update collection types and method names for improved consistency and clarity 2025-12-09 11:41:41 +01:00
Sebastian Lindemeier 3360b6cfba Refactor Day09 to rename RectangleOverlapsBorder to RectangleCrossesBorder for method clarity 2025-12-09 11:25:23 +01:00
Sebastian Lindemeier 0101f506cb Refactor Day09 to rename MinMax to CoordinatePair and update related method names for consistency 2025-12-09 10:44:32 +01:00
Sebastian Lindemeier a043c574f5 Add Day09 implementation with puzzle-solving logic and tests 2025-12-09 10:39:26 +01:00
Sebastian Lindemeier 1b1c64b103 Refactor Day08 to update data types, optimize method parameters, and improve test logic 2025-12-08 16:55:19 +01:00
Sebastian Lindemeier 9d8a611f76 Refactor Day08 to reorder methods and simplify circuit connection logic 2025-12-08 11:35:09 +01:00
Sebastian Lindemeier a3ac176602 Refactor Day08 to rename variables and extract CreateCircuits method for clarity 2025-12-08 11:26:31 +01:00
Sebastian Lindemeier 36d7a3f4e5 Refactor Day08 to simplify AddToCircuits logic 2025-12-08 11:14:18 +01:00
Sebastian Lindemeier c559f61496 Refactor Day08 to simplify circuit merge logic 2025-12-08 10:54:19 +01:00
Sebastian Lindemeier 52bf32f692 Refactor Day07 to rename variables and fix return type for timeline count methods 2025-12-08 10:32:56 +01:00
Sebastian Lindemeier 249e092494 Refactor Day07 to rename variables for clarity in timeline count recursion logic 2025-12-08 10:31:15 +01:00
Sebastian Lindemeier 14e4a8dfe9 Refactor Day07 to simplify timeline count logic and remove redundant methods 2025-12-08 10:19:31 +01:00
Sebastian Lindemeier 92ef64fd88 Refactor Day07 to extract common coordinate enqueue logic 2025-12-08 10:03:43 +01:00
Sebastian Lindemeier 629467f376 Refactor Day08 to improve readability with LINQ 2025-12-08 09:35:26 +01:00
Sebastian Lindemeier 7a02ba6b0e Refactor Day08 to improve readability 2025-12-08 09:19:33 +01:00
Sebastian Lindemeier b60db3c78a Refactor Day08 to improve readability and speed 2025-12-08 09:13:17 +01:00
Sebastian Lindemeier 04d9b2fd45 Add Day 08 solution 2025-12-08 08:51:43 +01:00
Sebastian Lindemeier afc7997fa2 Add another Day07 part 2 solution, that's way simpler 2025-12-08 07:00:50 +01:00
Sebastian Lindemeier 62f46aff7d Refactor Day07 to extract node visited count update logic 2025-12-07 17:51:57 +01:00
Sebastian Lindemeier f0ac76df15 Add Day 07 solution 2025-12-07 17:48:20 +01:00
Sebastian Lindemeier 6e3d180550 Refactor Day06 to simplify operand handling and with using Zip-LINQ method 2025-12-07 17:46:54 +01:00
Sebastian Lindemeier b03404fe6a Refactor Day06 to use LINQ for parsing numbers by column 2025-12-06 13:55:52 +01:00
Sebastian Lindemeier 90be974d36 Refactor Day06 to improve readability 2025-12-06 13:36:10 +01:00
Sebastian Lindemeier 1edbfab132 Refactor Day06 to use less ToArray() 2025-12-06 10:58:05 +01:00
Sebastian Lindemeier 47f468ff68 Add Day 06 solution, needs cleanup later 2025-12-06 10:54:11 +01:00
Sebastian Lindemeier fd417a6e97 Refactor range combining logic for future reusability 2025-12-05 10:59:44 +01:00
Sebastian Lindemeier 79541d0dae small refactorings 2025-12-05 09:45:02 +01:00
Sebastian Lindemeier 31caf429ca Refactor Day04 to use Index() extension method 2025-12-05 09:04:27 +01:00
Sebastian Lindemeier 0d028c4282 Add another Day 05 part 2 solution with combining overlapping ranges 2025-12-05 07:57:59 +01:00
Sebastian Lindemeier 1cd63a7188 Remove unused method CountIdsInRange 2025-12-05 07:31:48 +01:00
Sebastian Lindemeier 91ea80d2e3 Add Day 05 solution 2025-12-05 07:25:59 +01:00
Sebastian Lindemeier 1e98d90c33 Add AoC 2025 project structure and first solutions 2025-12-04 21:40:42 +01:00