(update) day 3 part 2
This commit is contained in:
1
2025/03/example2
Normal file
1
2025/03/example2
Normal file
@ -0,0 +1 @@
|
||||
234234234234278
|
||||
@ -1,6 +1,4 @@
|
||||
#!/bin/env python3
|
||||
|
||||
|
||||
def turn_on_batteries(series: str, amount: int) -> list:
|
||||
batteries = list(series.strip())
|
||||
batteries.sort(reverse=True)
|
||||
@ -22,11 +20,30 @@ def turn_on_batteries(series: str, amount: int) -> list:
|
||||
return [highest, second_highest]
|
||||
|
||||
|
||||
with open("example", "+r") as file:
|
||||
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_batteries(line, 2)
|
||||
print(line.strip(), batteries)
|
||||
batteries = turn_on_batteries2(line, 12)
|
||||
print("result:", line.strip(), "".join(batteries))
|
||||
result = result + int("".join(batteries))
|
||||
|
||||
print("result:", result)
|
||||
|
||||
Reference in New Issue
Block a user