diff --git a/Python/2023/04/main.py b/Python/2023/04/main.py new file mode 100644 index 0000000..109e807 --- /dev/null +++ b/Python/2023/04/main.py @@ -0,0 +1,41 @@ +input = open("input", 'r') + +data = [] + +for line in input: + card = line.rstrip().split(": ")[1] + winning, present = card.split(" | ") + winning = [int(num) for num in winning.split(" ") if num != ""] + present = [int(num) for num in present.split(" ") if num != ""] + data.append({ + "wins": winning, + "pres": present + }) + +total = 0 +wins = {card_num: 0 for card_num in range(len(data))} + +for i, card in enumerate(data): + for number in card["pres"]: + if number in card["wins"]: + wins[i] += 1 + if wins[i]: + total += 2 ** (wins[i]-1) + +print(total) + +cards = {card_num: 1 for card_num in range(len(data))} + +print(wins) + +for num, count in wins.items(): + for i in range(count): + cards[num+i+1] += cards[num] + +print(cards) + +total = 0 +for _, count in cards.items(): + total += count + +print(total)