From 006496ad1692a944576126aa554a0732e64d934e Mon Sep 17 00:00:00 2001 From: Kees van Kempen Date: Sun, 29 Dec 2024 00:32:17 +0100 Subject: [PATCH] 2024(7): fix part 2 This day was a lot easier :'). --- 2024/07/part2.py | 28 ++++++++++++++++++++++++++++ 2024/07/testinput | 9 +++++++++ 2 files changed, 37 insertions(+) create mode 100644 2024/07/part2.py create mode 100644 2024/07/testinput diff --git a/2024/07/part2.py b/2024/07/part2.py new file mode 100644 index 0000000..57f8935 --- /dev/null +++ b/2024/07/part2.py @@ -0,0 +1,28 @@ +from part1 import * + + +def concat(num1: int, num2: int) -> int: + return int("{}{}".format(num1, num2)) + +def recurse_it_more(nums): + def s(start, nums): + if len(nums) == 1: + return [start + nums[0], \ + start * nums[0], \ + concat(start, nums[0])] + return s(start + nums[0], nums[1:]) \ + + s(start * nums[0], nums[1:]) \ + + s(concat(start, nums[0]), nums[1:]) + + return s(nums[0], nums[1:]) + +if __name__ == "__main__": + data = load_data() + + total = 0 + + for test_value, nums in data: + if test_value in recurse_it_more(nums): + total += test_value + + print(total) diff --git a/2024/07/testinput b/2024/07/testinput new file mode 100644 index 0000000..fc6e099 --- /dev/null +++ b/2024/07/testinput @@ -0,0 +1,9 @@ +190: 10 19 +3267: 81 40 27 +83: 17 5 +156: 15 6 +7290: 6 8 6 15 +161011: 16 10 13 +192: 17 8 14 +21037: 9 7 18 13 +292: 11 6 16 20