advent2022/three.py

22 lines
577 B
Python
Executable File

#!/usr/bin/env python3
from useful import *
def stuff(l):
d = {x: True for x in l[:len(l)//2]}
return next(x for x in l[len(l)//2:] if d.get(x))
def points(c):
o = ord(c)
return 27 + o - ord('A') if o < ord('a') else 1 + o - ord('a')
def twuff(trip):
d = [{x: True for x in l} for l in trip[:2]]
return next(c for c in trip[2] if c in d[0] and c in d[1])
def trips(ls):
return [[ls[i], ls[i+1], ls[i+2]] for i in range(0, len(ls), 3)]
ls = lines(open(0))
print(sum(points(stuff(l)) for l in ls))
print(sum(points(twuff(l)) for l in trips(ls)))