Add problem 2 solution

This commit is contained in:
2025-12-03 21:06:36 -05:00
parent 5849094f37
commit 7e83b0824d
3 changed files with 95 additions and 0 deletions

43
Problem2_1.py Normal file
View File

@@ -0,0 +1,43 @@
def readFile() :
ary = []
with open("files/Problem2.txt", "r") as file :
content = file.read()
ary = content.split(",")
return ary
def isInvalid(startNum: str, endNum: str) :
foundNums = []
for num in range(startNum, endNum + 1) :
numStr = str(num)
if len(numStr) % 2 == 0 :
part1 = numStr[0:int(len(numStr) / 2)]
part2 = numStr[int(len(numStr) / 2):]
if part1 == part2 :
foundNums.append(num)
return foundNums
testArray = [
"11-22",
"95-115",
"998-1012",
"1188511880-1188511890",
"222220-222224",
"1698522-1698528",
"446443-446449",
"38593856-38593862",
"565653-565659",
"824824821-824824827",
"2121212118-2121212124"
]
#inputArray = testArray
inputArray = readFile()
results = []
for values in inputArray :
valueArray = values.split("-")
results.extend(isInvalid(int(valueArray[0]), int(valueArray[1])))
print(f"Sum = {sum(results)}")
#Sum = 19574776074

51
Problem2_2.py Normal file
View File

@@ -0,0 +1,51 @@
import math
import re
def readFile() :
ary = []
with open("files/Problem2.txt", "r") as file :
content = file.read()
ary = content.split(",")
return ary
def findRepeated(num: str) :
for cnt in range(0, math.floor(len(num) / 2) + 1) :
match = re.search(r"^(" + num[0:cnt] + ")+$", num)
if(match != None) :
return True
return False
def isInvalid(startNum: str, endNum: str) :
foundNums = []
for num in range(startNum, endNum + 1) :
numStr = str(num)
if findRepeated(numStr) :
foundNums.append(num)
return foundNums
testArray = [
"11-22",
"95-115",
"998-1012",
"1188511880-1188511890",
"222220-222224",
"1698522-1698528",
"446443-446449",
"38593856-38593862",
"565653-565659",
"824824821-824824827",
"2121212118-2121212124"
]
#inputArray = testArray
inputArray = readFile()
results = []
for values in inputArray :
valueArray = values.split("-")
results.extend(isInvalid(int(valueArray[0]), int(valueArray[1])))
print(f"Sum = {sum(results)}")
#Sum = 25912654282

1
files/Problem2.txt Normal file
View File

@@ -0,0 +1 @@
6161588270-6161664791,128091420-128157776,306-494,510-1079,10977-20613,64552-123011,33-46,28076-52796,371150-418737,691122-766624,115-221,7426210-7504719,819350-954677,7713444-7877541,63622006-63661895,1370-1981,538116-596342,5371-8580,8850407-8965070,156363-325896,47-86,452615-473272,2012-4265,73181182-73335464,1102265-1119187,3343315615-3343342551,8388258268-8388317065,632952-689504,3-22,988344-1007943