44 lines
964 B
Python
Executable File
44 lines
964 B
Python
Executable File
#! /usr/bin/env python3
|
|
|
|
|
|
def iter_groups():
|
|
group_responses = []
|
|
with open("input.txt") as f:
|
|
for line in f:
|
|
line = line.strip()
|
|
if line == "":
|
|
# Group divider
|
|
yield group_responses
|
|
group_responses = []
|
|
else:
|
|
group_responses.append(line)
|
|
else:
|
|
if group_responses:
|
|
yield group_responses
|
|
|
|
|
|
def part1():
|
|
total = 0
|
|
for group in iter_groups():
|
|
questions = set()
|
|
for person in group:
|
|
for question in person:
|
|
questions.add(question)
|
|
total += len(questions)
|
|
print("Total", total)
|
|
|
|
|
|
def part2():
|
|
total = 0
|
|
for group in iter_groups():
|
|
result = set(group[0])
|
|
for person in group[1:]:
|
|
result = result & set(person)
|
|
total += len(result)
|
|
print("Total", total)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
part1()
|
|
part2()
|