diff options
author | Brian Chu <brianmchu42@gmail.com> | 2021-12-30 15:11:21 -0800 |
---|---|---|
committer | Brian Chu <brianmchu42@gmail.com> | 2021-12-30 15:11:21 -0800 |
commit | e7085453864431ace3ad8f3123b259ed0829ae74 (patch) | |
tree | 2ef1fbb0e9d02fc934b5e09d96dd187f3e371ea6 /day2.py | |
download | AdventOfCode2015-main.tar.gz |
all solutions for 2015 main
Diffstat (limited to 'day2.py')
-rw-r--r-- | day2.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/day2.py b/day2.py new file mode 100644 index 0000000..853e507 --- /dev/null +++ b/day2.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +from itertools import combinations +from math import prod + +with open('day2.txt') as data: + dims = [tuple(map(int, line.strip().split('x'))) for line in data] + +# part 1 +total_area = 0 +for dim in dims: + areas = combinations(dim, 2) + areas = list(map(lambda x: prod(x), areas)) + total_area += 2 * sum(areas) + min(areas) + +print(total_area) + +# part 2 +total_length = 0 +for dim in dims: + wrap = 2 * sum(sorted(dim)[:2]) + bow = prod(dim) + total_length += wrap + bow +print(total_length) |