Advertisement
HexTree

Advent of Code 2023 (Python) - Day 2

Dec 2nd, 2023
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.90 KB | Source Code | 0 0
  1. sum_possible = 0
  2. sum_powers = 0
  3. limit = {'red': 12, 'green': 13, 'blue': 14}
  4.  
  5. with open('input.txt', 'r') as f:
  6.     for i, line in enumerate(f.readlines()):
  7.         impossible = False
  8.         min_possible = {'red': 0, 'green': 0, 'blue': 0}
  9.         picks = line.strip()[line.find(':')+2:].split('; ')
  10.         for p in picks:
  11.             for part in p.split(', '):
  12.                 print(part)
  13.                 num, colour = part.split(' ')
  14.                 num = int(num)
  15.                 # part 1
  16.                 if num > limit[colour]:
  17.                     impossible = True
  18.                 # part 2
  19.                 min_possible[colour] = max(min_possible[colour], num)
  20.         if not impossible:
  21.             sum_possible += (i+1)
  22.         power = 1
  23.         for v in min_possible.values():
  24.             power *= v
  25.         sum_powers += power
  26.  
  27. # part 1
  28. print(sum_possible)
  29.  
  30. # part 2
  31. print(sum_powers)
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement