Move into 2022 folder

This commit is contained in:
Mark Hoekveen
2024-11-11 09:05:01 +01:00
parent 9dd6a4f275
commit e0d955ec6f
28 changed files with 5 additions and 11 deletions
+40
View File
@@ -0,0 +1,40 @@
dirstack = [] # Stack of directories we are currently at
directories = {} # Maps paths to total filesums
TOTAL = 70000000
REQUIRED = 30000000
def addsize(size):
for (i, dir) in enumerate(dirstack):
path = "/".join(dirstack[:i+1])
if not path in directories:
directories[path] = 0
directories[path] += size
with open("input.txt", "r") as f:
for line in f.readlines():
line = line.strip()
if line[0] == '$' and line[2] == 'c':
folder = line.split("$ cd ")[1]
if folder == '..':
dirstack.pop()
else:
dirstack.append(folder)
else:
indicator = line.split(" ")[0]
try:
size = int(indicator)
addsize(size)
except:
pass
FREE = TOTAL - directories["/"]
NEEDED = REQUIRED-FREE
print(f"We have {FREE} space, but need {REQUIRED} so we need {NEEDED}")
candidates = sorted(directories, key=directories.get)
for candidate in candidates:
if directories[candidate] > NEEDED:
print(directories[candidate])
break