mirror of
https://github.com/Crocmagnon/advent-of-code.git
synced 2024-11-22 06:28:11 +01:00
Solve day 6
This commit is contained in:
parent
f233d1121e
commit
6ab0ae77f2
4 changed files with 2121 additions and 0 deletions
29
2020/day05-customs-declaration.py
Normal file
29
2020/day05-customs-declaration.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
from typing import List
|
||||
|
||||
|
||||
def main(filename: str, expected_part_1: int = None, expected_part_2: int = None):
|
||||
print(f"\n+ Running on {filename}")
|
||||
with open(filename) as f:
|
||||
groups = f.read().strip().split("\n\n") # type: List[str]
|
||||
|
||||
counter_part_1 = 0
|
||||
counter_part_2 = 0
|
||||
for group in groups:
|
||||
counter_part_1 += len(set(group.replace("\n", "")))
|
||||
people = group.split()
|
||||
intersect = set.intersection(*list(map(set, people)))
|
||||
counter_part_2 += len(intersect)
|
||||
|
||||
print(f"1. Found {counter_part_1}")
|
||||
if expected_part_1:
|
||||
assert expected_part_1 == counter_part_1
|
||||
|
||||
print(f"2. Found {counter_part_2}")
|
||||
if expected_part_2:
|
||||
assert expected_part_2 == counter_part_2
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main("inputs/day06-test1", 11, 6)
|
||||
main("inputs/day06-test2", 15, 8)
|
||||
main("inputs/day06", 6170, 2947)
|
2057
2020/inputs/day06
Normal file
2057
2020/inputs/day06
Normal file
File diff suppressed because it is too large
Load diff
15
2020/inputs/day06-test1
Normal file
15
2020/inputs/day06-test1
Normal file
|
@ -0,0 +1,15 @@
|
|||
abc
|
||||
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
ab
|
||||
ac
|
||||
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
b
|
20
2020/inputs/day06-test2
Normal file
20
2020/inputs/day06-test2
Normal file
|
@ -0,0 +1,20 @@
|
|||
abc
|
||||
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
ab
|
||||
ac
|
||||
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
b
|
||||
|
||||
ab
|
||||
ab
|
||||
abc
|
||||
abd
|
Loading…
Reference in a new issue