From 0941d525287a894e194e73e9617ba5bba4ef5737 Mon Sep 17 00:00:00 2001 From: Pascal Lais Date: Tue, 7 Dec 2021 09:52:40 +0100 Subject: [PATCH] Update day 7 solution --- day-07/day-07.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) 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))