From 0a5c1f77d01fc0bd166494787f24562e2fd3a9e9 Mon Sep 17 00:00:00 2001 From: Botond Hende Date: Wed, 11 Dec 2024 10:18:23 +0100 Subject: renamed day folders to two digit format --- 2024/day5/solve2.py | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 2024/day5/solve2.py (limited to '2024/day5/solve2.py') diff --git a/2024/day5/solve2.py b/2024/day5/solve2.py deleted file mode 100644 index 4675e85..0000000 --- a/2024/day5/solve2.py +++ /dev/null @@ -1,36 +0,0 @@ -from functools import cmp_to_key - -def is_update_correct(update: list[str], rules: list[tuple[str, str]]) -> bool: - for idx, page in enumerate(update): - for previous_page in (update[previous_idx] for previous_idx in range(idx)): - if (page, previous_page) in rules: - return False - - return True - - -rules = [] -updates = [] - -reading_updates = False -with open("input") as f: - for line in f.readlines(): - if reading_updates: - updates.append(line.strip().split(",")) - elif line == "\n": - reading_updates = True - else: - rules.append(tuple(line.strip().split("|"))) - -for idx in range(len(updates) - 1, -1, -1): - if is_update_correct(updates[idx], rules): - updates.pop(idx) - -for update in updates: - update.sort(key=cmp_to_key(lambda item1, item2: -1 if (item1, item2) in rules else 1 if (item2, item1) in rules else 0)) - -result = 0 -for update in updates: - result += int(update[len(update) // 2]) - -print(result) -- cgit v1.2.3-70-g09d2