diff --git a/day-07/day-07.py b/day-07/day-07.py index 6829aae..160fcbb 100644 --- a/day-07/day-07.py +++ b/day-07/day-07.py @@ -1,14 +1,7 @@ #!/usr/bin/env python3 from pathlib import Path - -def calc_fuel(crabs, h): - fuel = 0 - for c in crabs: - fuel += abs(h - c) - return fuel - def calc_fuel_exp(crabs, h): fuel = 0 for c in crabs: @@ -16,19 +9,18 @@ def calc_fuel_exp(crabs, h): fuel += d * (d + 1) // 2 return fuel - def part_1(input): result = 0 - c_pos = [int(x) for x in input[0].split(',')] - result = calc_fuel(c_pos, c_pos[0]) - for i in range(min(c_pos), max(c_pos) + 1): - result = min(result, calc_fuel(c_pos, i)) + 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].split(',')] + 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))