From f4c6c420def7958e2b260b631d2073b77e8219a6 Mon Sep 17 00:00:00 2001 From: Julia Lange Date: Fri, 9 Dec 2022 21:26:07 -0800 Subject: [PATCH] Day 10 2022 --- Python/2022/10/input | 145 ++++++++++++++++++++++++++++++++++++++++ Python/2022/10/main.py | 62 +++++++++++++++++ Python/2022/10/sample | 146 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 353 insertions(+) create mode 100644 Python/2022/10/input create mode 100644 Python/2022/10/main.py create mode 100644 Python/2022/10/sample diff --git a/Python/2022/10/input b/Python/2022/10/input new file mode 100644 index 0000000..53fc4b4 --- /dev/null +++ b/Python/2022/10/input @@ -0,0 +1,145 @@ +addx 1 +addx 4 +addx 1 +noop +addx 4 +noop +noop +noop +noop +addx 4 +addx 1 +addx 5 +noop +noop +addx 5 +addx -1 +addx 3 +addx 3 +addx 1 +noop +noop +addx 4 +addx 1 +noop +addx -38 +addx 10 +noop +noop +noop +noop +noop +addx 2 +addx 3 +addx -2 +addx 2 +addx 5 +addx 2 +addx -13 +addx 14 +addx 2 +noop +noop +addx -9 +addx 19 +addx -2 +addx 2 +addx -9 +addx -24 +addx 1 +addx 6 +noop +noop +addx -2 +addx 5 +noop +noop +addx -12 +addx 15 +noop +addx 3 +addx 3 +addx 1 +addx 5 +noop +noop +noop +noop +addx -24 +addx 29 +addx 5 +noop +noop +addx -37 +noop +addx 26 +noop +noop +addx -18 +addx 28 +addx -24 +addx 17 +addx -16 +addx 4 +noop +addx 5 +addx -2 +addx 5 +addx 2 +addx -18 +addx 24 +noop +addx -2 +addx 10 +addx -6 +addx -12 +addx -23 +noop +addx 41 +addx -34 +addx 30 +addx -25 +noop +addx 16 +addx -15 +addx 2 +addx -12 +addx 19 +addx 3 +noop +addx 2 +addx -27 +addx 36 +addx -6 +noop +noop +addx 7 +addx -33 +addx -4 +noop +addx 24 +noop +addx -17 +addx 1 +noop +addx 4 +addx 1 +addx 14 +addx -12 +addx -14 +addx 21 +noop +noop +noop +addx 5 +addx -17 +addx 1 +addx 20 +addx 2 +noop +addx 2 +noop +noop +noop +noop +noop diff --git a/Python/2022/10/main.py b/Python/2022/10/main.py new file mode 100644 index 0000000..757ff81 --- /dev/null +++ b/Python/2022/10/main.py @@ -0,0 +1,62 @@ +input = open("input", 'r') +# input = open("sample", 'r') +data = [] + +mode = 0 +total = 0 +for line in input: + data.append(line.strip()) + +x = 1 +i = 1 +for line in data: + # No-op + if len(line) == 4: + i += 1 + if (i + 20) % 40 == 0: + total += i * x + continue + # addx + else: + i += 1 + if (i + 20) % 40 == 0: + total += i * x + i += 1 + addx, num = line.split(" ") + x += int(num) + if (i + 20) % 40 == 0: + total += i * x + +print(total) +CRT = ["." for _ in range(40*6)] +def printcrt(): + for i, dot in enumerate(CRT): + print(dot, end="") + if (i+1) % 40 == 0: + print() + +data2 = [] +i = 1 +for line in data: + # No-op + if len(line) == 4: + data2.append([line, 0]) + continue + # addx + else: + addx, num = line.split(" ") + data2.append(["noop", 0]) + data2.append([addx, int(num)]) + +x = 1 +for i in range(40*6): + index = i % 40 + rng = list(range(x-1, x+2)) + if index in rng: + CRT[i] = "#" + # run instruction + instr = data2[i] + if instr[0] == "addx": + x += instr[1] + +printcrt() diff --git a/Python/2022/10/sample b/Python/2022/10/sample new file mode 100644 index 0000000..37ee8ee --- /dev/null +++ b/Python/2022/10/sample @@ -0,0 +1,146 @@ +addx 15 +addx -11 +addx 6 +addx -3 +addx 5 +addx -1 +addx -8 +addx 13 +addx 4 +noop +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx -35 +addx 1 +addx 24 +addx -19 +addx 1 +addx 16 +addx -11 +noop +noop +addx 21 +addx -15 +noop +noop +addx -3 +addx 9 +addx 1 +addx -3 +addx 8 +addx 1 +addx 5 +noop +noop +noop +noop +noop +addx -36 +noop +addx 1 +addx 7 +noop +noop +noop +addx 2 +addx 6 +noop +noop +noop +noop +noop +addx 1 +noop +noop +addx 7 +addx 1 +noop +addx -13 +addx 13 +addx 7 +noop +addx 1 +addx -33 +noop +noop +noop +addx 2 +noop +noop +noop +addx 8 +noop +addx -1 +addx 2 +addx 1 +noop +addx 17 +addx -9 +addx 1 +addx 1 +addx -3 +addx 11 +noop +noop +addx 1 +noop +addx 1 +noop +noop +addx -13 +addx -19 +addx 1 +addx 3 +addx 26 +addx -30 +addx 12 +addx -1 +addx 3 +addx 1 +noop +noop +noop +addx -9 +addx 18 +addx 1 +addx 2 +noop +noop +addx 9 +noop +noop +noop +addx -1 +addx 2 +addx -37 +addx 1 +addx 3 +noop +addx 15 +addx -21 +addx 22 +addx -6 +addx 1 +noop +addx 2 +addx 1 +noop +addx -10 +noop +noop +addx 20 +addx 1 +addx 2 +addx 2 +addx -6 +addx -11 +noop +noop +noop