From 9e65b26a1cb324e6a83abc5ea91c69a6c48a6d81 Mon Sep 17 00:00:00 2001 From: kleph Date: Mon, 4 Dec 2023 14:08:54 +0100 Subject: [PATCH] 2023 - Day 4 part 2 --- 2023/4/4_2.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 2023/4/4_2.py diff --git a/2023/4/4_2.py b/2023/4/4_2.py new file mode 100644 index 0000000..1278d87 --- /dev/null +++ b/2023/4/4_2.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# 2023 - Advent Of Code 4 - part 2 + +# file = 'input_example.txt' +file = 'input.txt' + + +accum = 0 +# pylint: disable=consider-using-with +input_lines = [line.strip('\n') for line in open(file, encoding="utf-8")] + +copies = [1] * len(input_lines) +for line in input_lines: + card = line.split(':') + card_num = int(card[0][4:]) + winning, got = card[1].split('|') + winning_num = [x for x in winning.split(' ') if x != ''] + got_num = [x for x in got.split(' ') if x != ''] + + card_score = 0 + for num in got_num: + if num in winning_num: + card_score += 1 + print(f'{card_num}: {card_score}') + for score in range(0, card_score): + copies[card_num+score] += copies[card_num-1] + # print(copies) + +print(f"sum: {sum(copies)}")