From 188596df7d045054641ddcb02e1505679b83f620 Mon Sep 17 00:00:00 2001 From: Xevion Date: Sun, 1 Dec 2019 23:25:07 -0600 Subject: [PATCH] 2019 day-2 p1 p2 20min slow as hell --- 2019/day-2/input | 1 + 2019/day-2/python/main.py | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/2019/day-2/input b/2019/day-2/input index e69de29..32bfdc8 100644 --- a/2019/day-2/input +++ b/2019/day-2/input @@ -0,0 +1 @@ +1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,13,1,19,1,19,10,23,2,10,23,27,1,27,6,31,1,13,31,35,1,13,35,39,1,39,10,43,2,43,13,47,1,47,9,51,2,51,13,55,1,5,55,59,2,59,9,63,1,13,63,67,2,13,67,71,1,71,5,75,2,75,13,79,1,79,6,83,1,83,5,87,2,87,6,91,1,5,91,95,1,95,13,99,2,99,6,103,1,5,103,107,1,107,9,111,2,6,111,115,1,5,115,119,1,119,2,123,1,6,123,0,99,2,14,0,0 \ No newline at end of file diff --git a/2019/day-2/python/main.py b/2019/day-2/python/main.py index 40d0d68..c879063 100644 --- a/2019/day-2/python/main.py +++ b/2019/day-2/python/main.py @@ -2,4 +2,27 @@ import os import sys PATH = os.path.join(sys.path[0], '..', 'input') -DATA = list(map(int, open(PATH, 'r').readlines())) \ No newline at end of file +orig = list(map(int, open(PATH, 'r').read().split(','))) + +def calculate(noun, verb): + arr = orig.copy() + arr[1] = noun + arr[2] = verb + curpos = 0 + while curpos < len(arr): + if arr[curpos] == 1: + arr[arr[curpos + 3]] = arr[arr[curpos + 1]] + arr[arr[curpos + 2]] + elif arr[curpos] == 2: + arr[arr[curpos + 3]] = arr[arr[curpos + 1]] * arr[arr[curpos + 2]] + elif arr[curpos] == 99: + # print(f'Stopped at {curpos}') + break + curpos += 4 + return arr[0] + +print(calculate(12, 2)) + +for noun in range(0, 100): + for verb in range(0, 100): + if calculate(noun, verb) == 19690720: + print(100 * noun + verb) \ No newline at end of file