aboutsummaryrefslogtreecommitdiff
path: root/challenge-145/sgreen/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-145/sgreen/python')
-rwxr-xr-xchallenge-145/sgreen/python/ch-1.py28
-rwxr-xr-xchallenge-145/sgreen/python/ch-2.py27
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-145/sgreen/python/ch-1.py b/challenge-145/sgreen/python/ch-1.py
new file mode 100755
index 0000000000..7c18890304
--- /dev/null
+++ b/challenge-145/sgreen/python/ch-1.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+
+import sys
+import re
+
+
+def main(inputs):
+ first_nums = list(map(int, re.findall(r'-?\d+', inputs[0])))
+ second_nums = list(map(int, re.findall(r'-?\d+', inputs[1])))
+
+ if len(first_nums) != len(second_nums):
+ raise ValueError('Arrays are of different lengths')
+
+ dots = []
+ sums = []
+ for i in range(len(first_nums)):
+ dots.append(f'({first_nums[i]} × {second_nums[i]})')
+ sums.append(first_nums[i] * second_nums[i])
+
+ print(' + '.join(dots) +
+ ' => ' +
+ ' + '.join(map(str, sums)) +
+ ' => ' +
+ str(sum(sums)))
+
+
+if __name__ == '__main__':
+ main(sys.argv[1:])
diff --git a/challenge-145/sgreen/python/ch-2.py b/challenge-145/sgreen/python/ch-2.py
new file mode 100755
index 0000000000..65ed569178
--- /dev/null
+++ b/challenge-145/sgreen/python/ch-2.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+
+import sys
+
+
+def main(word):
+ strings = []
+
+ # Make the starting point from each character
+ for i in range(len(word)):
+
+ # And the end point
+ for j in range(i, len(word)):
+
+ # This is string we will examine
+ s = word[i:j + 1]
+
+ # If we don't already know about it, and it's palindromic, add
+ # it to the string array
+ if s not in strings and s == s[::-1]:
+ strings.append(s)
+
+ print(*strings, sep=' ')
+
+
+if __name__ == '__main__':
+ main(sys.argv[1])