diff options
Diffstat (limited to '2020/day8/handheld.py')
| -rw-r--r-- | 2020/day8/handheld.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/2020/day8/handheld.py b/2020/day8/handheld.py new file mode 100644 index 0000000..6197a2f --- /dev/null +++ b/2020/day8/handheld.py | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | boot_code = list() | ||
| 2 | with open("input", "r") as file: | ||
| 3 | for line in file: | ||
| 4 | line = line.strip() | ||
| 5 | oparg = line.split(" ") | ||
| 6 | boot_code.append((oparg[0], int(oparg[1]))) | ||
| 7 | |||
| 8 | |||
| 9 | cursor = 0 | ||
| 10 | |||
| 11 | accumulator = 0 | ||
| 12 | |||
| 13 | sofar = set() | ||
| 14 | |||
| 15 | while cursor not in sofar: | ||
| 16 | sofar.add(cursor) | ||
| 17 | |||
| 18 | if boot_code[cursor][0] == "acc": | ||
| 19 | accumulator += boot_code[cursor][1] | ||
| 20 | elif boot_code[cursor][0] == "jmp": | ||
| 21 | cursor += boot_code[cursor][1] - 1 | ||
| 22 | else: | ||
| 23 | pass | ||
| 24 | |||
| 25 | cursor += 1 | ||
| 26 | |||
| 27 | print(accumulator) | ||
