parent
c482fac425
commit
6a2590f66e
@ -0,0 +1,62 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
from aoc import get_input # AoC |
||||
import re # regex |
||||
|
||||
nums = list(map(int, get_input(9).splitlines() )) |
||||
|
||||
|
||||
def checkValid(nums, numsum): |
||||
for num1 in nums: |
||||
for num2 in nums: |
||||
if( num1 + num2 == numsum and num1 != num2 ): |
||||
return [num1, num2], numsum |
||||
|
||||
return False, numsum |
||||
|
||||
def checkIfNumValid( amble, index ): |
||||
prevNums = nums[index-amble:index] |
||||
numsum = nums[index] |
||||
sumnumbers, numsum2 = checkValid(prevNums, numsum) |
||||
|
||||
return sumnumbers, numsum2 |
||||
|
||||
|
||||
amble = 25 # NOTE: CHANGE ME TO 25 |
||||
invalid, invalidindex = None, None |
||||
|
||||
for i in range(len(nums)): |
||||
if(i > amble-1): |
||||
valid = checkIfNumValid(amble, i) |
||||
if( not valid[0] ): |
||||
invalid, invalidindex = valid[1], i |
||||
break |
||||
|
||||
def sumlist(l): |
||||
ssum = 0 |
||||
for num in l: |
||||
ssum += num |
||||
return ssum |
||||
|
||||
|
||||
stop = False |
||||
foundnums = [] |
||||
for i in range(len(nums)): |
||||
for rangei in range(len(nums)): |
||||
numlist = nums[i-rangei:i] |
||||
if( not invalid in numlist ): |
||||
sumnums = sumlist(numlist) |
||||
|
||||
if(sumnums == invalid): |
||||
foundnums = numlist |
||||
stop = True |
||||
break |
||||
if(stop): |
||||
break |
||||
|
||||
minnum = min(foundnums) |
||||
maxnum = max(foundnums) |
||||
|
||||
|
||||
print("Part1:", invalid) |
||||
print("Part2:", minnum + maxnum) |
Loading…
Reference in new issue