diff --git a/AoC_2025/Day05.cs b/AoC_2025/Day05.cs index 2f53e49..45c746e 100644 --- a/AoC_2025/Day05.cs +++ b/AoC_2025/Day05.cs @@ -104,14 +104,26 @@ public class Day05 : IPuzzleSolver { optimizedRanges.Add(range); } - else if (IsIdInRange(range.from, lastRange) && ! IsIdInRange(range.to, lastRange)) + else if (TryCombineRanges(lastRange, range, out var combined)) { - optimizedRanges[^1] = (lastRange.from, range.to); + optimizedRanges[^1] = combined; } } return optimizedRanges; } + + private bool TryCombineRanges(Range first, Range second, out Range combined) + { + if (IsIdInRange(second.from, first) && !IsIdInRange(second.to, first)) + { + combined = (first.from, second.to); + return true; + } + + combined = first; + return false; + } private static IEnumerable CountIdsInRanges(IEnumerable combinedRanges) {