7 done
This commit is contained in:
31
7.py
31
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))
|
||||||
|
|||||||
Reference in New Issue
Block a user