Advertisement
ahti123

AoC 2022 d3

Dec 3rd, 2022
560
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.62 KB | None | 0 0
  1. with open('inp1.txt') as f:
  2.     # data = list(map(lambda x: (x[:int(len(x)/2)], x[int(len(x)/2):]), f.read().split('\n')))
  3.     data = f.read().split('\n')
  4.  
  5. def _intersection(a, b):
  6.     return list(set(a) & set(b))
  7.  
  8. def _priority(c):
  9.     return ord(c)-38 if ord(c)<ord('a') else ord(c)-96
  10.  
  11. def part1():
  12.     extras = list(map(lambda x: _intersection(x[0], x[1])[0], data))
  13.     print(sum(map(_priority, extras)))
  14.  
  15. def part2():
  16.     badges = []
  17.     for i in range(int(len(data)/3)):
  18.         badges.append(*_intersection(_intersection(data[i*3+0], data[i*3+1]), data[i*3+2]))
  19.     print(sum(map(_priority, badges)))
  20.  
  21. if __name__ == '__main__':
  22.     part2()
  23.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement