private static int Solution2(string[] input) { string inputLine = input[0]; int[] inputs = inputLine.Split(",").Select(i => int.Parse(i)).ToArray(); const int ExpectedResult = 19690720; for (int noun = 0; noun < 100; noun++) { for (int verb = 0; verb < 100; verb++) { int[] newInputs = (int[])inputs.Clone(); newInputs[1] = noun; newInputs[2] = verb; int result = IntcodeComputer.ExecuteIntcodeProgram(newInputs)[0]; if (result == ExpectedResult) { return(100 * noun + verb); } ; } } throw new Exception(); }
private static string Solution1(string[] input, int[] programInput) { string inputLine = input[0]; int[] program = inputLine.Split(",").Select(i => int.Parse(i)).ToArray(); int[] _ = IntcodeComputer.ExecuteIntcodeProgram(program, programInput, out int[] output); return(output[^ 1].ToString());
private static int Solution1(string[] input, int[] programReplacements) { string inputLine = input[0]; int[] inputs = inputLine.Split(",").Select(i => int.Parse(i)).ToArray(); for (int i = 0; i < programReplacements.Length; i++) { inputs[i + 1] = programReplacements[i]; } return(IntcodeComputer.ExecuteIntcodeProgram(inputs).First()); }
public void IntcodeComputerTests(int[] program, int[] input, int[] expected) { int[] actual = IntcodeComputer.ExecuteIntcodeProgram(program, input, out int[] _); Assert.Equal(expected, actual); }