From a43f260e1be3da45c9acaa73c715888ab3350714 Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Tue, 9 Feb 2021 20:20:17 +0100 Subject: [PATCH] Implement day 17 part 1 --- 2019/aoc2019/day17.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2019/aoc2019/day17.py diff --git a/2019/aoc2019/day17.py b/2019/aoc2019/day17.py new file mode 100644 index 0000000..7c5cdde --- /dev/null +++ b/2019/aoc2019/day17.py @@ -0,0 +1,26 @@ +from typing import TextIO + +from aoc2019.intcode import Computer, read_program + + +def part1(data: TextIO) -> int: + computer = Computer(read_program(data)) + + computer.run() + + output = ''.join(chr(c) for c in computer.output) + + tiles = set() + + for y, line in enumerate(output.splitlines()): + for x, c in enumerate(line): + if c == '#': + tiles.add((x, y)) + + total = 0 + + for x, y in tiles: + if (x - 1, y) in tiles and (x + 1, y) in tiles and (x, y - 1) in tiles and (x, y + 1) in tiles: + total += x * y + + return total