/// <inheritdoc/> public override object PartA() { var list = DataAsInts.ToList(); var pairs = list.Zip(list.Skip(1), Tuple.Create); return(pairs.Count(p => p.Item1 < p.Item2)); }
protected override ICollection <string> DoPart2() { var total = DataAsInts.Sum(DetermineFuelRecursive); return(new List <string> { $"Total fuel: {total}" }); }
/// <inheritdoc/> public override object PartB() { const int windowSize = 3; var windows = DataAsInts.ToList().Window(windowSize).Select(w => w.Sum()).ToList(); var pairs = windows.Zip(windows.Skip(1), Tuple.Create); return(pairs.Count(p => p.Item1 < p.Item2)); }