Add problem 2 solution
This commit is contained in:
43
Problem2_1.py
Normal file
43
Problem2_1.py
Normal 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
51
Problem2_2.py
Normal 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
1
files/Problem2.txt
Normal 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
|
||||
Reference in New Issue
Block a user