Advertisement
hhoppe

Advent of code 2024 day 5

Dec 4th, 2024 (edited)
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.45 KB | None | 0 0
  1. def day5(s, part2=False):
  2.   p1, p2 = s.split('\n\n')
  3.   rules = {tuple(line.split('|')) for line in p1.splitlines()}
  4.   updates = (line.split(',') for line in p2.splitlines())
  5.  
  6.   def compare(a, b):
  7.     return -1 if (a, b) in rules else 1 if (b, a) in rules else 0
  8.  
  9.   total = 0
  10.   for update in updates:
  11.     new = sorted(update, key=functools.cmp_to_key(compare))
  12.     if (new == update) ^ part2:
  13.       total += int(new[len(new) // 2])
  14.  
  15.   return total
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement