37 lines
1 KiB
Python
37 lines
1 KiB
Python
input = open("input", 'r')
|
|
|
|
banks = []
|
|
for i, line in enumerate(input):
|
|
banks.append([int(battery) for battery in line.rstrip()])
|
|
|
|
# Part 1
|
|
# joltages = []
|
|
# for bank in banks:
|
|
# greatest_leftmost = max([
|
|
# (battery, -i) for i, battery in enumerate(bank[:-1])
|
|
# ])
|
|
# greatest_to_right = max([
|
|
# battery for battery in bank[(-1*greatest_leftmost[1])+1:]
|
|
# ])
|
|
# joltages.append(greatest_leftmost[0]*10+greatest_to_right)
|
|
|
|
# print(joltages)
|
|
# print(sum(joltages))
|
|
|
|
# Part 2 - Cleaned Up!
|
|
def jolt_it(banks, turn_on_count):
|
|
joltages = []
|
|
for bank in banks:
|
|
joltage = ""
|
|
left_edge = 0
|
|
for n in range(turn_on_count-1,-1,-1):
|
|
greatest_leftmost = max([
|
|
(battery, -i) for i, battery in enumerate(bank[left_edge:len(bank)-n])
|
|
])
|
|
joltage += str(greatest_leftmost[0])
|
|
left_edge += (-1*greatest_leftmost[1])+1
|
|
joltages.append(int(joltage))
|
|
return joltages
|
|
|
|
print(sum(jolt_it(banks,2)))
|
|
print(sum(jolt_it(banks,12)))
|