Files
advent-of-code/2025/03/main.py
2025-12-20 11:21:09 +01:00

50 lines
1.3 KiB
Python

#!/bin/env python3
def turn_on_batteries(series: str, amount: int) -> list:
batteries = list(series.strip())
batteries.sort(reverse=True)
highest = batteries[0]
if series.strip().__len__() == series.strip().index(highest) + 1:
highest = batteries[1]
highest_at = series.strip().index(highest)
for battery in batteries:
occurances = [
i for i, x in enumerate(series.strip()) if x == battery and i > highest_at
]
# print(battery, occurances)
if occurances.__len__() == 0:
continue
second_highest = battery
break
return [highest, second_highest]
def turn_on_batteries2(series: str, amount: int) -> list:
length = series.strip().__len__()
remaining = length - amount
new_stack: list = []
for battery in series.strip():
while remaining > 0 and new_stack and new_stack[-1] < battery:
new_stack.pop()
remaining -= 1
new_stack.append(battery)
if remaining > 0:
new_stack = new_stack[:-remaining]
return new_stack
with open("input", "+r") as file:
result = 0
for line in file.readlines():
batteries = turn_on_batteries2(line, 12)
print("result:", line.strip(), "".join(batteries))
result = result + int("".join(batteries))
print("result:", result)