Files
aoc/2024/day09/part1.py
2025-12-01 11:25:06 +01:00

40 lines
823 B
Python

import os
import os.path
def checksum(hdd):
res = 0
for i in range(len(hdd)):
if hdd[i] != '.':
res += i * int(hdd[i])
return (res)
def main():
file_path = "./input.txt"
if (os.path.isfile(file_path)):
content = open(file_path, "r").read()
else:
content = "2333133121414131402"
hdd = []
for i in range(len(content)):
if i % 2 == 0:
hdd.extend([i // 2 for x in range(int(content[i]))])
else:
hdd.extend(['.' for x in range(int(content[i]))])
print(hdd)
for i in range(len(hdd) - 1, -1, -1):
for j in range(len(hdd[:i])):
if (hdd[j] == '.'):
hdd[i], hdd[j] = hdd[j], hdd[i]
break
print(checksum(hdd))
if __name__ == '__main__':
main()