2024(7): fix part 2
This day was a lot easier :').
This commit is contained in:
28
2024/07/part2.py
Normal file
28
2024/07/part2.py
Normal file
@ -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)
|
||||||
9
2024/07/testinput
Normal file
9
2024/07/testinput
Normal file
@ -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
|
||||||
Reference in New Issue
Block a user