diff --git a/AdventOfCode2025/AdventOfCode2025.csproj b/AdventOfCode2025/AdventOfCode2025.csproj index 7a10560..98b42fc 100644 --- a/AdventOfCode2025/AdventOfCode2025.csproj +++ b/AdventOfCode2025/AdventOfCode2025.csproj @@ -28,6 +28,10 @@ PreserveNewest + + + PreserveNewest + diff --git a/AdventOfCode2025/Cafeteria.cs b/AdventOfCode2025/Cafeteria.cs index 9a71888..f5d68d8 100644 --- a/AdventOfCode2025/Cafeteria.cs +++ b/AdventOfCode2025/Cafeteria.cs @@ -1,9 +1,35 @@ -namespace AdventOfCode2025; +using AdventOfCode2025.Utils; +using Range = AdventOfCode2025.Utils.Range; + +namespace AdventOfCode2025; public class Cafeteria : IAdventSolution { public AdventSolution Solve(string input) { - throw new NotImplementedException(); + var lines = input.SplitLines(); + + var ranges = new HashSet(); + var startIndex = 0; + while (lines[startIndex].Contains("-")) + { + var line = lines[startIndex++]; + var parts = line.Split('-'); + ranges.Add(new(ulong.Parse(parts[0]), ulong.Parse(parts[1]))); + } + + var fresh = 0; + for(; startIndex < lines.Length; startIndex++) + { + var line = lines[startIndex++]; + if (line.Contains('-')) + continue; + + var num = ulong.Parse(line); + if(ranges.Any(x => x.Min <= num && num <= x.Max)) fresh++; + } + + + return new AdventSolution(fresh.ToString(), null); } } \ No newline at end of file