advent-of-code/2022/python/day03.py
2022-12-12 02:41:14 -05:00

35 lines
823 B
Python

import shared
import string
def part1(rucksacks):
total = 0
for comp1, comp2 in [(r[: len(r) // 2], r[len(r) // 2 :]) for r in rucksacks]:
c1 = set(x for x in comp1)
c2 = set(x for x in comp2)
match = list(c1.intersection(c2))[0]
total += string.ascii_letters.index(match) + 1
print(total)
def part2(rucksacks):
total = 0
for idx in range(0, len(rucksacks), 3):
r1, r2, r3 = rucksacks[idx : idx + 3]
c1 = set(x for x in r1)
c2 = set(x for x in r2)
c3 = set(x for x in r3)
match = list(c1.intersection(c2).intersection(c3))[0]
total += string.ascii_letters.index(match) + 1
print(total)
def main():
rows = [row for row in shared.load(3)]
part1(rows)
part2(rows)
if __name__ == "__main__":
main()