add: part 2

This commit is contained in:
starnakin 2023-12-04 10:23:47 +01:00
parent dfa92b39fb
commit 9057c1603a
2 changed files with 35 additions and 0 deletions

6
2023/day04/example2.txt Normal file
View File

@ -0,0 +1,6 @@
Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53
Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1
Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83
Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11

29
2023/day04/src/part2.py Normal file
View File

@ -0,0 +1,29 @@
text: str = open("input.txt", "r").read()
value: int = 0
lines = text.splitlines()
cards_coef = {}
for card_id, line in enumerate(lines):
card_id += 1
bozo_value: int = 0
bozo = line.split(": ")
bozo2 = bozo[1].split(" | ")
expected_value = bozo2[0].split(" ")
values = bozo2[1].split(" ")
for current_value in values:
if (current_value != "" and current_value in expected_value):
bozo_value += 1
cards_coef.update({card_id: cards_coef.get(card_id, 0) + 1})
current_card_coef = cards_coef.get(card_id)
for next_card_id in range(card_id + 1, card_id + bozo_value + 1):
next_cards_coef = cards_coef.get(next_card_id, 0)
cards_coef.update({next_card_id: next_cards_coef + current_card_coef})
print(cards_coef)
for card_id, coef in cards_coef.items():
value += coef
print(value)