diff options
Diffstat (limited to 'solutions/py/08.py')
| -rw-r--r-- | solutions/py/08.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/solutions/py/08.py b/solutions/py/08.py new file mode 100644 index 0000000..cdd4b4a --- /dev/null +++ b/solutions/py/08.py @@ -0,0 +1,49 @@ +f = open("../input/08", "r").readline() + +def format(layers): + i = 0 + for layer in layers: + print("\nlayer", i) + i += 1 + for row in layer: + for c in row: + print(c, end=' ') + print("") + +def count(layer, num): + return sum([row.count(num) for row in layer]) + +img = [] +least_zeroes = None +num = 0 + +for l in range(100): + #print("l", l) + layer = [[int(f[l*25*6 + y*25 + x]) for x in range(25)] for y in range(6)] + zeroes = 0 + ones = 0 + twos = 0 + if least_zeroes == None: + least_zeroes = count(layer, 0) + num = count(layer, 1) * count(layer, 2) + elif count(layer, 0) < least_zeroes: + least_zeroes = count(layer, 0) + num = count(layer, 1) * count(layer, 2) + img.append(layer) +print(1, num) + +def pretty(result): + for row in result: + for c in row: + print(('\u2588' if c == 1 else ' '), end='') + print("") + +result = img[0] + +for layer in img[1:]: + for x in range(25): + for y in range(6): + if result[y][x] == 2: + result[y][x] = layer[y][x] +print(2) +pretty(result) |
