summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gusso230@student.liu.se>2019-12-08 07:58:02 +0100
committerGustav Sörnäs <gusso230@student.liu.se>2019-12-08 07:58:55 +0100
commita6e787756d96ebe1fcc5373ad643ec56a3da82aa (patch)
tree1c6c55b4a7144a22e84307c937e0e6e2da035aef
parent616928da5547c823b420f41f37e45a91b88db995 (diff)
downloadaoc-a6e787756d96ebe1fcc5373ad643ec56a3da82aa.tar.gz
Refactor day 8
-rw-r--r--solutions/py/08.py32
1 files changed, 8 insertions, 24 deletions
diff --git a/solutions/py/08.py b/solutions/py/08.py
index cdd4b4a..247b221 100644
--- a/solutions/py/08.py
+++ b/solutions/py/08.py
@@ -1,36 +1,20 @@
-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])
+f = open("../input/08", "r").readline()
img = []
-least_zeroes = None
-num = 0
+least_zeroes = 150 # 25*6
+n = 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:
+ if count(layer, 0) < least_zeroes:
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)
+ n = count(layer, 1) * count(layer, 2)
img.append(layer)
-print(1, num)
+print(1, n)
+
def pretty(result):
for row in result:
@@ -38,8 +22,8 @@ def pretty(result):
print(('\u2588' if c == 1 else ' '), end='')
print("")
-result = img[0]
+result = img[0]
for layer in img[1:]:
for x in range(25):
for y in range(6):