(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
|
#!/bin/env python3
|
||||||
|
|
||||||
|
|
||||||
def turn_on_batteries(series: str, amount: int) -> list:
|
def turn_on_batteries(series: str, amount: int) -> list:
|
||||||
batteries = list(series.strip())
|
batteries = list(series.strip())
|
||||||
batteries.sort(reverse=True)
|
batteries.sort(reverse=True)
|
||||||
@ -22,11 +20,30 @@ def turn_on_batteries(series: str, amount: int) -> list:
|
|||||||
return [highest, second_highest]
|
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
|
result = 0
|
||||||
for line in file.readlines():
|
for line in file.readlines():
|
||||||
batteries = turn_on_batteries(line, 2)
|
batteries = turn_on_batteries2(line, 12)
|
||||||
print(line.strip(), batteries)
|
print("result:", line.strip(), "".join(batteries))
|
||||||
result = result + int("".join(batteries))
|
result = result + int("".join(batteries))
|
||||||
|
|
||||||
print("result:", result)
|
print("result:", result)
|
||||||
|
|||||||
Reference in New Issue
Block a user