34 lines
901 B
Python
34 lines
901 B
Python
from utils import load_data
|
|
|
|
def question_1(data):
|
|
|
|
sum = 0
|
|
|
|
for line in data:
|
|
|
|
pipe_split = line.split("|")
|
|
found_numbers = pipe_split[1].split(" ")
|
|
# This removes empty chars
|
|
found_numbers = set(list(filter(("").__ne__, found_numbers)))
|
|
winning_numbers = pipe_split[0].split(":")[1].split(" ")
|
|
# Idem
|
|
winning_numbers = set(list(filter(("").__ne__, winning_numbers)))
|
|
|
|
intersection = found_numbers.intersection(winning_numbers)
|
|
score = 2 ** (len(intersection) - 1) if len(intersection) > 0 else 0
|
|
|
|
sum += score
|
|
|
|
print(f"Answer to question 1 is: {sum}")
|
|
|
|
def question_2(data: list[str]):
|
|
|
|
sum = 0
|
|
|
|
print(f"Answer to question 2 is: {sum}")
|
|
|
|
if __name__ == "__main__":
|
|
filepath = "Data/Day4.txt"
|
|
data = load_data(filepath)
|
|
question_1(data)
|
|
# question_2(data) |