aboutsummaryrefslogtreecommitdiff
path: root/challenge-321/sgreen/python/ch-2.py
diff options
context:
space:
mode:
authorSimon Green <mail@simon.green>2025-05-18 22:09:15 +1000
committerSimon Green <mail@simon.green>2025-05-18 22:09:15 +1000
commit59548f33170863d1b540daa9fed90707a6117a01 (patch)
tree4e98e4d84b51a587277befd74e5cc8caae93dd6d /challenge-321/sgreen/python/ch-2.py
parent62f1ccaddfc5a65501df9cfdf528d28927fef410 (diff)
downloadperlweeklychallenge-club-59548f33170863d1b540daa9fed90707a6117a01.tar.gz
perlweeklychallenge-club-59548f33170863d1b540daa9fed90707a6117a01.tar.bz2
perlweeklychallenge-club-59548f33170863d1b540daa9fed90707a6117a01.zip
sgreen solutions to challenge 321
Diffstat (limited to 'challenge-321/sgreen/python/ch-2.py')
-rwxr-xr-xchallenge-321/sgreen/python/ch-2.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/challenge-321/sgreen/python/ch-2.py b/challenge-321/sgreen/python/ch-2.py
new file mode 100755
index 0000000000..81e0d9ed98
--- /dev/null
+++ b/challenge-321/sgreen/python/ch-2.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python3
+
+import sys
+
+def covert_string(s: str) -> str:
+ """Convert a string by treating '#' as a backspace character
+
+ Args:
+ s (str): The original string
+
+ Returns:
+ str: The converted string
+ """
+
+ new_string = ''
+ for c in s:
+ if c == '#':
+ # This is safe even if new_string is empty
+ new_string = new_string[:-1]
+ else:
+ new_string += c
+
+ return new_string
+
+def backspace_compare(str1: str, str2: str) -> bool:
+ """Compare two strings are the same if '#' is a back space character
+
+ Args:
+ str1 (str): The first string
+ str2 (str): The second string
+
+ Returns:
+ bool: Whether the resulting strings are the same
+ """
+ return covert_string(str1) == covert_string(str2)
+
+
+def main():
+ result = backspace_compare(sys.argv[1], sys.argv[2])
+ print(result)
+
+
+if __name__ == '__main__':
+ main()