From c02a7c3934c9bf1691d980dcd1382e303384212b Mon Sep 17 00:00:00 2001 From: Pascal Lais Date: Mon, 20 Dec 2021 11:02:55 +0100 Subject: [PATCH] Update day 20 solution --- day-20/day-20.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/day-20/day-20.py b/day-20/day-20.py index ad20074..62cf0ab 100644 --- a/day-20/day-20.py +++ b/day-20/day-20.py @@ -2,24 +2,29 @@ from pathlib import Path -def enhance(algorithm, in_image, b): +def enhance(algorithm, in_image, boundary): out_image = [] - for i in range(-b, len(in_image) + b): + height = len(in_image) + width = len(in_image[0]) + for i in range(-boundary, height + boundary): line = '' - for j in range(-b, len(in_image[0]) + b): + valid = False + for j in range(-boundary, width + boundary): idx = '' for k in range(i - 1, i + 2): for l in range(j - 1, j + 2): - if 0 <= k < len(in_image) and \ - 0 <= l < len(in_image[k]) and\ + if 0 <= k < height and \ + 0 <= l < width and \ '#' == in_image[k][l]: idx += '1' else: idx += '0' - idx = int(idx, 2) + if not valid and '#' == algorithm[idx]: + valid = True line += algorithm[idx] - out_image.append(line) + if valid: + out_image.append(line) return out_image