-
Notifications
You must be signed in to change notification settings - Fork 0
/
advent-06.py
53 lines (40 loc) · 1.27 KB
/
advent-06.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
"""
URL for challenge: https://adventofcode.com/2020/day/6
"""
import string
def part1():
f = open("advent-06-input.txt")
group_counts = []
yes_answers = set()
for person_answers in f.readlines():
if person_answers == '\n':
group_counts.append(len(yes_answers))
yes_answers.clear()
continue
person_answers = person_answers.strip()
yes_answers = yes_answers.union(set(person_answers))
group_counts.append(len(yes_answers))
return sum(group_counts)
def part2():
f = open("advent-06-input.txt")
group_counts = []
yes_answers = set(string.ascii_lowercase)
for person_answers in f.readlines():
if person_answers == '\n':
group_counts.append(len(yes_answers))
yes_answers = set(string.ascii_lowercase)
continue
person_answers = person_answers.strip()
yes_answers = yes_answers.intersection(set(person_answers))
group_counts.append(len(yes_answers))
return sum(group_counts)
def run():
chall = int(input("Please enter either 1 or 2 for the challenges: "))
if chall == 1:
print(part1())
elif chall == 2:
print(part2())
else:
print("You need to enter either 1 or 2")
exit(1)
run()