advent_of_code_2024/day_09/program.py

41 lines
936 B
Python
Executable file

#!/usr/bin/env python3
# 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():
# 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__':
main()