diff --git a/day-02/solution.py b/day-02/solution.py index 29bdc9f..d732c6a 100644 --- a/day-02/solution.py +++ b/day-02/solution.py @@ -2,6 +2,7 @@ from __future__ import print_function import fileinput from operator import mul from functools import reduce +import itertools totalArea = 0 totalRibbon = 0 @@ -9,10 +10,9 @@ for line in fileinput.input(): parts = [int(i) for i in line.split('x')] parts.sort() - sides = [parts[0] * parts[1], parts[0] * parts[2], parts[1] * parts[2]] - totalArea += 2 * sum(sides) + sides = [x * y for x, y in itertools.combinations(parts, 2)] + totalArea += 2 * sum(sides) + min(sides) - totalArea += min(sides) totalRibbon += 2 * (parts[0] + parts[1]) totalRibbon += reduce(mul, parts, 1)