Update day 20 solution
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-12-20 11:02:55 +01:00
parent 71ebdf8f65
commit c02a7c3934

View File

@@ -2,23 +2,28 @@
from pathlib import Path from pathlib import Path
def enhance(algorithm, in_image, b): def enhance(algorithm, in_image, boundary):
out_image = [] 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 = '' line = ''
for j in range(-b, len(in_image[0]) + b): valid = False
for j in range(-boundary, width + boundary):
idx = '' idx = ''
for k in range(i - 1, i + 2): for k in range(i - 1, i + 2):
for l in range(j - 1, j + 2): for l in range(j - 1, j + 2):
if 0 <= k < len(in_image) and \ if 0 <= k < height and \
0 <= l < len(in_image[k]) and\ 0 <= l < width and \
'#' == in_image[k][l]: '#' == in_image[k][l]:
idx += '1' idx += '1'
else: else:
idx += '0' idx += '0'
idx = int(idx, 2) idx = int(idx, 2)
if not valid and '#' == algorithm[idx]:
valid = True
line += algorithm[idx] line += algorithm[idx]
if valid:
out_image.append(line) out_image.append(line)
return out_image return out_image