namespace AOC2022; /// /// Day 3: /// public sealed class Day03() : Day(2022, 3, "Rucksack Reorganization") { public override object Part1() => Input.Sum(rucksack => RankItem(rucksack.Chunk(rucksack.Length / 2).Aggregate>((a, b) => a.Intersect(b)).Single())); public override object Part2() => Input.Chunk(3).Sum(group => RankItem(group.Aggregate>((a, b) => a.Intersect(b)).Single())); private static int RankItem(char item) => item - (char.IsUpper(item) ? '&' : '`'); }