Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var input = await File.ReadAllLinesAsync("input.txt");
- var part1 = 0L;
- var part2 = 0L;
- foreach (var line in input)
- {
- part1 += FindMaxNumber(line, 2);
- part2 += FindMaxNumber(line, 12);
- }
- Console.WriteLine($"Part 1: {part1}");
- Console.WriteLine($"Part 2: {part2}");
- static long FindMaxNumber(string line, int length)
- {
- var max = 0L;
- var current = line.Select(c => int.Parse(c.ToString())).ToArray();
- for (var i = 1; i <= length; i++)
- {
- var digit = current[..^(length - i)].Max();
- max = max * 10 + digit;
- var index = Array.IndexOf(current, digit);
- current = current[(index + 1)..];
- }
- return max;
- }
Advertisement
Add Comment
Please, Sign In to add comment