From d92293f631f0deb55367031e816acac27885226a Mon Sep 17 00:00:00 2001 From: Sebastian Lindemeier Date: Fri, 12 Dec 2025 11:54:39 +0100 Subject: [PATCH] Refactor Day10 to rename variables for consistency and add `.ToArray()` in `ParsePuzzleInputUnoptimized` to optimize LINQ evaluation --- AoC_2025/Day10.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/AoC_2025/Day10.cs b/AoC_2025/Day10.cs index a00a3af..db2714b 100644 --- a/AoC_2025/Day10.cs +++ b/AoC_2025/Day10.cs @@ -120,7 +120,8 @@ public class Day10 : IPuzzleSolver { var instructions = ParsePuzzleInputUnoptimized(pathToPuzzleInput); var minCounts = instructions - .Select(instruction => GetMinCountButtonPressesForJoltageLevels(instruction.joltages, instruction.buttons)); + .Select(instruction => GetMinCountButtonPressesForJoltageLevels(instruction.joltages, instruction.buttons)) + .ToArray(); return minCounts.Sum(); } @@ -193,10 +194,10 @@ public class Day10 : IPuzzleSolver .Zip(targetJoltages, (pJolt, tJolt) => (pJolt % 2) == (tJolt % 2)) .All(isEqual => isEqual)) .ToArray(); - foreach (var (joltageLevel, buttonPresses) in patternsToCheck) + foreach (var (joltageLevels, cost) in patternsToCheck) { - var nextPattern = targetJoltages.Zip(joltageLevel, (jolts, level) => (jolts - level) / 2).ToArray(); - var resultNext = 2 * GetMinCountInternal(nextPattern, patternCosts, memory) + buttonPresses; + var nextPattern = targetJoltages.Zip(joltageLevels, (jolts, level) => (jolts - level) / 2).ToArray(); + var resultNext = 2 * GetMinCountInternal(nextPattern, patternCosts, memory) + cost; if (resultNext < minCount) { minCount = resultNext;