From cc044cfc2fb9b23b83f458d7254c83bb8a021082 Mon Sep 17 00:00:00 2001 From: "lucas.mathieu" Date: Wed, 3 Dec 2025 15:50:52 +0100 Subject: [PATCH] add 2025 day 3 part 2 --- 2025/day-03/part-two.py | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 2025/day-03/part-two.py diff --git a/2025/day-03/part-two.py b/2025/day-03/part-two.py new file mode 100644 index 0000000..49090b1 --- /dev/null +++ b/2025/day-03/part-two.py @@ -0,0 +1,44 @@ +import logging +import sys + +# Logger setup +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) +stream_handler = logging.StreamHandler() +logger.addHandler(stream_handler) + +def main(): + output = 0 + logger.debug("Init output with value: " + str(output)) + with open("input.txt", "r") as input: + for line in input: + line = line.strip() + output += findHighestCombination(line, 12) + logger.info("Output: " + str(output)) + +def findHighestCombination(x, n): + output = [] + returnVal = 0 + output.append(findHighestNumberIndex(x[:len(x) - n])) + returnVal = x[output[0]] + for i in range(1, n): + h_i = findHighestNumberIndex(x[output[i - 1] + 1:len(x) - n + i + 1]) + output.append(h_i + output[i - 1] + 1) + returnVal += x[output[i]] + return int(returnVal) + +def findHighestNumberIndex(x): + logger.debug("findHighestNumberIndex(" + x + ")") + highest = 0 + index = -1 + for i in range(len(x)): + val = int(x[i]) + if(val > highest): + highest = val + index = i + if(highest == 9): + break + return index + +if __name__ == "__main__": + main()