From 53b7f05dee87ad811b7ceeb90b55d5dbc964fbbe Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 5 Dec 2019 01:55:15 -0500 Subject: tidy day2 --- Day2.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'Day2.cs') diff --git a/Day2.cs b/Day2.cs index 095b454..1549e28 100644 --- a/Day2.cs +++ b/Day2.cs @@ -11,29 +11,31 @@ namespace aoc2019 private readonly IEnumerable input = File.ReadLines("input/day2.in").First().Split(',').Select(int.Parse); - public static List RunIntCode(int noun, int verb, List v) + public int RunIntCode(int noun, int verb) { + var v = input.ToList(); v[1] = noun; v[2] = verb; for (var i = 0; v[i] != 99; i += 4) - switch (v[i]) + v[v[i + 3]] = v[i] switch { - case 1: v[v[i + 3]] = v[v[i + 1]] + v[v[i + 2]]; break; - case 2: v[v[i + 3]] = v[v[i + 1]] * v[v[i + 2]]; break; - } - return v; + 1 => v[v[i + 1]] + v[v[i + 2]], + 2 => v[v[i + 1]] * v[v[i + 2]] + }; + + return v[0]; } public override string Part1() { - return $"{RunIntCode(12, 2, input.ToList())[0]}"; + return $"{RunIntCode(12, 2)}"; } public override string Part2() { for (var i = 0; i < 100; i++) for (var j = 0; j < 100; j++) - if (RunIntCode(i, j, input.ToList())[0] == 19690720) + if (RunIntCode(i, j) == 19690720) return $"{100 * i + j}"; return string.Empty; -- cgit 1.4.1