Completed day 7, task 2
This commit is contained in:
21
Day-7/day7-2.py
Normal file
21
Day-7/day7-2.py
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
# Read in the file and split it into an array.
|
||||||
|
crabPositions = []
|
||||||
|
with open('/home/jake/Documents/AoC-2021/Day-7/input.txt') as inputFile:
|
||||||
|
crabPositions = inputFile.readline().strip('\n').split(',')
|
||||||
|
crabPositions = [ int(x) for x in crabPositions ]
|
||||||
|
|
||||||
|
possiblePositions = list(range(min(crabPositions), max(crabPositions)))
|
||||||
|
fuelForPositions = []
|
||||||
|
|
||||||
|
# Calculate the lowest possible fuel usage.
|
||||||
|
for i in possiblePositions:
|
||||||
|
fuelUsed = 0
|
||||||
|
for crab in crabPositions:
|
||||||
|
postitionsToMove = abs(crab - i)
|
||||||
|
fuelUsed += postitionsToMove/2*(1+postitionsToMove)
|
||||||
|
fuelForPositions.append(int(fuelUsed))
|
||||||
|
|
||||||
|
# Print the results.
|
||||||
|
print("Lowest possible fuel usage is " + str(min(fuelForPositions)) + " by moving to position " + str(possiblePositions[fuelForPositions.index(min(fuelForPositions))]))
|
Reference in New Issue
Block a user