diff options
| author | Gustav Sörnäs <gusso230@student.liu.se> | 2019-12-08 11:06:56 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gusso230@student.liu.se> | 2019-12-08 11:06:56 +0100 |
| commit | 29e33f8f6a31565f5a2671b1c459ff1b829630f7 (patch) | |
| tree | c051274a9e9a895049a077a6bdce9056dfb9afb1 /solutions/py/d02.py | |
| parent | d16fc72a33fced8c8623bea6cf9cdd9cf8999024 (diff) | |
| download | aoc-29e33f8f6a31565f5a2671b1c459ff1b829630f7.tar.gz | |
Refactor and create main.py
Diffstat (limited to 'solutions/py/d02.py')
| -rw-r--r-- | solutions/py/d02.py | 41 |
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) + |
