summaryrefslogtreecommitdiffstats
path: root/solutions/py/d02.py
diff options
context:
space:
mode:
authorGustav Sörnäs <gusso230@student.liu.se>2019-12-08 11:06:56 +0100
committerGustav Sörnäs <gusso230@student.liu.se>2019-12-08 11:06:56 +0100
commit29e33f8f6a31565f5a2671b1c459ff1b829630f7 (patch)
treec051274a9e9a895049a077a6bdce9056dfb9afb1 /solutions/py/d02.py
parentd16fc72a33fced8c8623bea6cf9cdd9cf8999024 (diff)
downloadaoc-29e33f8f6a31565f5a2671b1c459ff1b829630f7.tar.gz
Refactor and create main.py
Diffstat (limited to 'solutions/py/d02.py')
-rw-r--r--solutions/py/d02.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/solutions/py/d02.py b/solutions/py/d02.py
new file mode 100644
index 0000000..15f0fea
--- /dev/null
+++ b/solutions/py/d02.py
@@ -0,0 +1,41 @@
+import sys
+
+def pt1(input):
+ program = [int(x) for x in input[0].split(",")]
+
+ memory = program.copy()
+ memory[1] = 12
+ memory[2] = 2
+
+ pointer = 0
+ while True:
+ if memory[pointer] == 99:
+ break
+ elif memory[pointer] == 1:
+ memory[memory[pointer+3]] = memory[memory[pointer+1]] + memory[memory[pointer+2]]
+ elif memory[pointer] == 2:
+ memory[memory[pointer+3]] = memory[memory[pointer+1]] * memory[memory[pointer+2]]
+ pointer += 4
+ return memory[0]
+
+def pt2(input):
+ program = [int(x) for x in input[0].split(",")]
+
+ for n in range(100):
+ for v in range(100):
+ memory = program.copy()
+ memory[1] = n
+ memory[2] = v
+
+ pointer = 0
+ while True:
+ if memory[pointer] == 99:
+ break
+ elif memory[pointer] == 1:
+ memory[memory[pointer+3]] = memory[memory[pointer+1]] + memory[memory[pointer+2]]
+ elif memory[pointer] == 2:
+ memory[memory[pointer+3]] = memory[memory[pointer+1]] * memory[memory[pointer+2]]
+ pointer += 4
+ if memory[0] == 19690720:
+ return (n, v)
+