From 11848d268bb0615c72a9ce95c22ae4204a9106c1 Mon Sep 17 00:00:00 2001 From: Heiko Ludwig Date: Tue, 10 Dec 2024 16:54:22 +0100 Subject: [PATCH] incomplete state of day 9 --- day_09/program.py | 29 +++++++++++++++++++++++++++-- day_09/sample-input2.txt | 1 + 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 day_09/sample-input2.txt diff --git a/day_09/program.py b/day_09/program.py index 3247ddb..7a3ea2e 100755 --- a/day_09/program.py +++ b/day_09/program.py @@ -2,14 +2,39 @@ # https://adventofcode.com/2024/day/9 +from collections import deque + + def get_lines(filename: str) -> list: with open(filename, "r") as file: return [line.strip() for line in file.readlines()] +def get_disk(disk_map: str) -> tuple: + disk = [] + free_blocks = deque() + full_blocks = deque() + file_id = 0 + for pos, count_str in enumerate(disk_map): + count = int(count_str) + for i in range(count): + if pos % 2 == 0: + disk.append(file_id) + else: + disk.append(None) + return disk, free_blocks, full_blocks + + +def print_disk(disk: list) -> None: + pass + def main(): - lines = get_lines("sample-input.txt") - # lines = get_lines("input.txt") + # disk_map = get_lines("sample-input.txt")[0] + disk_map = get_lines("sample-input2.txt")[0] + # disk_map = get_lines("input.txt")[0] + + disk, free_blocks, full_blocks = get_disk(disk_map) + print(disk) if __name__ == '__main__': diff --git a/day_09/sample-input2.txt b/day_09/sample-input2.txt new file mode 100644 index 0000000..e56e15b --- /dev/null +++ b/day_09/sample-input2.txt @@ -0,0 +1 @@ +12345