AdventOfCode2023/day4-2.py
2023-12-04 01:01:27 -06:00

31 lines
1.1 KiB
Python

with open("input_day4.txt") as file:
lines = [line.rstrip() for line in file]
winning_numbers = [line.split(": ")[1].split(" | ")[0].split(" ") for line in lines]
winning_numbers = [list(filter(lambda a: a != '', winning_numbers[i])) for i in range(len(winning_numbers))]
numbers_have = [line.split(": ")[1].split(" | ")[1].split(" ") for line in lines]
numbers_have = [list(filter(lambda a: a != '', numbers_have[i])) for i in range(len(numbers_have))]
instances = [1 for x in range(len(lines))]
index = 0
existing_cards = len(lines)
extra_cards=0
for card in winning_numbers:
for instance in range(instances[index]):
card_matches = 0
for number in card:
if str(number) in numbers_have[index]:
card_matches+=1
if card_matches>0:
#add copies
for i in range(card_matches):
if index+(i+1) > len(winning_numbers):
break
instances[index+i+1]+=1
extra_cards+=1
index+=1
print(instances)
print(extra_cards+existing_cards)