Files
advent-of-code/2020/day_6/custom_customs.py
2020-12-06 19:37:01 -03:00

30 lines
669 B
Python

from functools import reduce
with open('input') as f:
data = [line.strip().split() for line in f.read().split('\n\n')]
def parse_data(data):
groups = []
for line in data:
group = []
for answers in line:
group.append(set(answers))
groups.append(group)
return groups
def solve_a(groups):
union = lambda a, b: a | b
count = lambda g: len(reduce(union, g))
return sum(map(count, groups))
def solve_b(data):
intersection = lambda a, b: a & b
count = lambda g: len(reduce(intersection, g))
return sum(map(count, groups))
groups = parse_data(data)
print(solve_a(groups))
print(solve_b(groups))