From d562fa855d5260926a505459c2aa147194f80cb0 Mon Sep 17 00:00:00 2001 From: Marijn Doeve Date: Tue, 7 Dec 2021 11:55:11 +0100 Subject: [PATCH] 7 done --- 7.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/7.py b/7.py index e69de29..2b4d71f 100644 --- a/7.py +++ b/7.py @@ -0,0 +1,31 @@ +import numpy as np + + +def part_one(crabs: np.ndarray): + + smallest_diff = np.inf + + for i in range(1, crabs.max()): + cost = abs(crabs - i).sum() + smallest_diff = min(smallest_diff, cost) + + return smallest_diff + + +def part_two(crabs): + smallest_diff = np.inf + + for i in range(1, crabs.max()): + diffs = abs(crabs - i) + 1 + + cost = sum([np.arange(diff, dtype=np.int64).sum() for diff in diffs]) + + smallest_diff = min(smallest_diff, cost) + + return smallest_diff + + +if __name__ == "__main__": + crabs = np.array([int(x) for x in input().split(",")]) + print("Part One:", part_one(crabs)) + print("Part Two:", part_two(crabs))