mgla

Advent of Code - 2025 - Day 3

Dec 3rd, 2025 (edited)
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.68 KB | None | 0 0
  1. var input = await File.ReadAllLinesAsync("input.txt");
  2.  
  3. var part1 = 0L;
  4. var part2 = 0L;
  5.  
  6. foreach (var line in input)
  7. {
  8.     part1 += FindMaxNumber(line, 2);
  9.     part2 += FindMaxNumber(line, 12);
  10. }
  11.  
  12. Console.WriteLine($"Part 1: {part1}");
  13. Console.WriteLine($"Part 2: {part2}");
  14.  
  15. static long FindMaxNumber(string line, int length)
  16. {
  17.     var max = 0L;
  18.     var current = line.Select(c => int.Parse(c.ToString())).ToArray();
  19.  
  20.     for (var i = 1; i <= length; i++)
  21.     {
  22.         var digit = current[..^(length - i)].Max();
  23.         max = max * 10 + digit;
  24.  
  25.         var index = Array.IndexOf(current, digit);
  26.         current = current[(index + 1)..];
  27.     }
  28.  
  29.     return max;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment