diff options
author | Ben Harris <ben@tilde.team> | 2019-12-05 01:55:15 -0500 |
---|---|---|
committer | Ben Harris <ben@tilde.team> | 2019-12-05 01:55:15 -0500 |
commit | 53b7f05dee87ad811b7ceeb90b55d5dbc964fbbe (patch) | |
tree | 6765d6b3509d4c7f4762dcbb1a70c64dd8d4cea9 /Day2.cs | |
parent | 501ef0a5c7236491c67d9a78acca5edd1bf5ebd3 (diff) |
tidy day2
Diffstat (limited to 'Day2.cs')
-rw-r--r-- | Day2.cs | 18 |
1 files changed, 10 insertions, 8 deletions
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<int> input = File.ReadLines("input/day2.in").First().Split(',').Select(int.Parse); - public static List<int> RunIntCode(int noun, int verb, List<int> 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; |