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