2025(03): jolly joltage

This commit is contained in:
2025-12-03 08:18:38 +01:00
parent 14f6ed8f8c
commit a28fe8271c
5 changed files with 270 additions and 3 deletions

39
2025/03/part1.py Normal file
View File

@ -0,0 +1,39 @@
# Test testinput
with open("testinput", "r") as fp:
batteries = fp.readlines()
def bruteforce_joltage(battery):
"""
Makes all combinations and returns the largests
Complexity: O(len(battery))
"""
joltage_battery_max = 0
for i in range(len(battery) - 1):
for j in range(i + 1, len(battery)):
joltage = int(battery[i] + battery[j])
if joltage > joltage_battery_max:
joltage_battery_max = joltage
return joltage_battery_max
for idx_battery, joltage in enumerate([98, 89, 78, 92]):
assert bruteforce_joltage(batteries[idx_battery]) == joltage
output_joltage = 0
for battery in batteries:
joltage_battery_max = bruteforce_joltage(battery)
output_joltage += joltage_battery_max
assert output_joltage == 357
# Perform final stuff
with open("input", "r") as fp:
batteries = fp.readlines()
output_joltage = 0
for battery in batteries:
joltage_battery_max = bruteforce_joltage(battery)
output_joltage += joltage_battery_max
print(output_joltage)