batteries = [] with open("day3/input.txt") as file: for line in file: batteries.append([int(c) for c in line.strip()]) def max_12_digit_number(digits): target_len = 12 to_remove = len(digits) - target_len stack = [] for d in digits: while stack and to_remove > 0 and stack[-1] < d: stack.pop() to_remove -= 1 stack.append(d) # Falls noch nicht genug entfernt wurde (am Ende nur große Zahlen) return stack[:target_len] total = 0 for bank in batteries: best_digits = max_12_digit_number(bank) joltage = int("".join(map(str, best_digits))) total += joltage print(total)