diff --git a/Problem2_1.py b/Problem2_1.py new file mode 100644 index 0000000..48f4b5c --- /dev/null +++ b/Problem2_1.py @@ -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 diff --git a/Problem2_2.py b/Problem2_2.py new file mode 100644 index 0000000..1cc868a --- /dev/null +++ b/Problem2_2.py @@ -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 diff --git a/files/Problem2.txt b/files/Problem2.txt new file mode 100644 index 0000000..d155397 --- /dev/null +++ b/files/Problem2.txt @@ -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