diff --git a/Questions/Day 4.py b/Questions/Day 4.py index f3a2742..d3b7040 100644 --- a/Questions/Day 4.py +++ b/Questions/Day 4.py @@ -24,11 +24,35 @@ def question_1(data): def question_2(data: list[str]): sum = 0 + + # Make a dict with all card IDs set to 1 + cards = {} + for line in data: + id = line[5:8].replace(" ","") + cards[int(id)] = 1 + + for key in cards: + line = data[key-1] + + 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) + + for index in range(len(intersection)): + cards[key + index + 1] += cards[key] + + sum += cards[key] 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) \ No newline at end of file + # question_1(data) + question_2(data) \ No newline at end of file