diff --git a/2023/day04/example2.txt b/2023/day04/example2.txt new file mode 100644 index 0000000..71f208a --- /dev/null +++ b/2023/day04/example2.txt @@ -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 \ No newline at end of file diff --git a/2023/day04/src/part2.py b/2023/day04/src/part2.py new file mode 100644 index 0000000..38ecf41 --- /dev/null +++ b/2023/day04/src/part2.py @@ -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) \ No newline at end of file