public long Solve2(IList <string> input) { var commands = input.Select(x => HandheldGameConsole.ParseCommand(x)).ToList(); for (var i = 0; i < commands.Count; i++) { if (commands[i].instruction == "acc") { continue; } var copy = commands.ToList(); copy[i] = (SwitchOperation(commands[i].instruction), commands[i].number); var handheld = new HandheldGameConsole(copy); var completed = handheld.Boot(); if (completed) { return(handheld.Accumulator); } } return(0); }
public long Solve1(IList <string> input) { var commands = input.Select(x => HandheldGameConsole.ParseCommand(x)).ToList(); var handheld = new HandheldGameConsole(commands); handheld.Boot(); return(handheld.Accumulator); }