import unittest import os import sys class Day8(unittest.TestCase): inputfile = os.path.join(os.path.dirname(__file__), "input/day8_input") def test_day8a(self): size = 25 * 6 with open(self.inputfile) as fp: img = [int(k) for k in str(fp.readline())] breaks = [size*k for k in range(len(img)//size+1)] layers = [img[b:e] for b, e in zip(breaks, breaks[1:])] min = sys.maxsize layer = 0 for i, l in enumerate(layers): z = l.count(0) if z < min: min = z layer = i print("Result was {} on layer {}".format(layers[layer].count(1)*layers[layer].count(2), layer)) if __name__ == "__main__": Day8().test_day8a()