Files
advent-of-code-2021/day-07/day-07.py
Pascal Lais 0941d52528
All checks were successful
continuous-integration/drone/push Build is passing
Update day 7 solution
2021-12-07 09:52:40 +01:00

36 lines
804 B
Python

#!/usr/bin/env python3
from pathlib import Path
def calc_fuel_exp(crabs, h):
fuel = 0
for c in crabs:
d = abs(h - c)
fuel += d * (d + 1) // 2
return fuel
def part_1(input):
result = 0
c = [int(x) for x in input[0].strip().split(',')]
c.sort()
m = c[len(c) // 2]
result = sum([abs(m - h) for h in c])
print("Part 1 result:", result)
def part_2(input):
result = 0
c_pos = [int(x) for x in input[0].strip().split(',')]
result = calc_fuel_exp(c_pos, c_pos[0])
for i in range(min(c_pos), max(c_pos) + 1):
result = min(result, calc_fuel_exp(c_pos, i))
print("Part 2 result:", result)
input = list()
p = Path(__file__).with_name('input.txt')
with open(p) as f:
input = f.readlines()
part_1(input)
part_2(input)