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