From ef302bbeb7da4249287747ea17943ccdaa53f232 Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Mon, 18 Oct 2021 19:45:36 +0200 Subject: [PATCH] Trivial reimplementation day 21 --- 2019/aoc2019/day21.py | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 2019/aoc2019/day21.py diff --git a/2019/aoc2019/day21.py b/2019/aoc2019/day21.py new file mode 100644 index 0000000..d96c197 --- /dev/null +++ b/2019/aoc2019/day21.py @@ -0,0 +1,44 @@ +from typing import TextIO + +from aoc2019.intcode import read_program, Computer + + +def send_input(computer: Computer, program: str) -> None: + for c in program: + computer.send_input(ord(c)) + + +def run(data: TextIO, program: str) -> int: + computer = Computer(read_program(data)) + + send_input(computer, program) + computer.run() + + return computer.output.pop() + + +def part1(data: TextIO) -> int: + program = """\ + OR A J + AND B J + AND C J + NOT J J + AND D J + WALK + """ + + return run(data, program) + + +def part2(data: TextIO) -> int: + program = """\ + NOT H J + OR C J + AND A J + AND B J + NOT J J + AND D J + RUN + """ + + return run(data, program)