Advertisement
desrtfx

Day07.py

Dec 7th, 2022
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.04 KB | None | 0 0
  1. # Day 07
  2. directories = {'/':0}
  3. current_dir = ['/']
  4. with open("Input_Day07.txt", "r") as f:
  5.     for line in f.readlines():
  6.         output = line.strip().split(" ")
  7.         if output[0] == '$': #command
  8.             if output[1] == 'cd':
  9.                 if output[2] == '..': # go back up one level
  10.                     current_dir.pop()
  11.                 elif output[2] == '/': # go to root
  12.                     current_dir = ['/']
  13.                 else:
  14.                     current_dir.append(output[2]) # go deeper
  15.         elif output[0] == 'dir': # not a command - output is a directory
  16.             directories["".join(current_dir) + output[1]] = 0
  17.         else: # output is a file
  18.             directories["".join(current_dir)] += int(output[0])
  19.             for i in range(1, len(current_dir)):
  20.                 directories["".join(current_dir[:-i])] += int(output[0])
  21. # Part 01
  22. print(f"Part 01: {sum(_ for _ in directories.values() if _ <= 100000)}")
  23. print(f"Part 02: {min(_ for _ in directories.values() if _ >= directories['/'] - 40000000)}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement