From 0a96499f762810d9901dc5340de1364dfe5a1abd Mon Sep 17 00:00:00 2001 From: Kees van Kempen Date: Tue, 2 Dec 2025 08:31:04 +0100 Subject: [PATCH] 2025(02): solve part 1 --- 2025/02/part1.py | 20 ++++++++++++++++++++ 2025/02/testinput | 1 + 2 files changed, 21 insertions(+) create mode 100644 2025/02/part1.py create mode 100644 2025/02/testinput diff --git a/2025/02/part1.py b/2025/02/part1.py new file mode 100644 index 0000000..341741e --- /dev/null +++ b/2025/02/part1.py @@ -0,0 +1,20 @@ +with open("input", "r") as fp: + rangestrs = fp.read().split(",") + ranges = [] + for rangestr in rangestrs: + a, b = rangestr.split("-") + a_int, b_int = int(a), int(b) + ranges.append((a, b)) + assert a_int < b_int, f"Range invalid: {a} is not smaller than {b}" + + illegal_counter = 0 + illegal_sum = 0 + for a, b in ranges: + a_int, b_int = int(a), int(b) + for num in range(a_int, b_int + 1): + num_str = str(num) + if len(num_str) % 2 == 0 and num_str[len(num_str) // 2:] == num_str[:len(num_str) // 2]: + illegal_counter += 1 + illegal_sum += num + + print(illegal_counter, illegal_sum) diff --git a/2025/02/testinput b/2025/02/testinput new file mode 100644 index 0000000..a3f22ef --- /dev/null +++ b/2025/02/testinput @@ -0,0 +1 @@ +11-22,95-115,998-1012,1188511880-1188511890,222220-222224,1698522-1698528,446443-446449,38593856-38593862,565653-565659,824824821-824824827,2121212118-2121212124