aboutsummaryrefslogtreecommitdiff
path: root/challenge-248/packy-anderson/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-248/packy-anderson/python/ch-1.py')
-rwxr-xr-xchallenge-248/packy-anderson/python/ch-1.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-248/packy-anderson/python/ch-1.py b/challenge-248/packy-anderson/python/ch-1.py
new file mode 100755
index 0000000000..e4f309808e
--- /dev/null
+++ b/challenge-248/packy-anderson/python/ch-1.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+def shortestDistance(s, c):
+ # split the string into an array of characters
+ strchar = list(s)
+ # find the positions of the target char
+ pos = [ x for x in range(len(s)) if strchar[x] == c ]
+
+ output = []
+ for i in range(len(s)):
+ # find the distances
+ distance = [ abs(i - p) for p in pos ]
+ # find the minimum distance
+ output.append( min(distance) )
+ return output
+
+def comma_join(arr):
+ return ','.join(map(lambda i: str(i), arr))
+
+def solution(s, c):
+ print(f'Input: $str = "{s}", $char = "{c}"')
+ output = shortestDistance(s, c)
+ print(f'Output: ({comma_join(output)})')
+
+print('Example 1:')
+solution("loveleetcode", "e")
+
+print('\nExample 2:')
+solution("aaab", "b") \ No newline at end of file