aboutsummaryrefslogtreecommitdiff
path: root/challenge-081/walt-mankowski/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-081/walt-mankowski/python')
-rw-r--r--challenge-081/walt-mankowski/python/.python-version2
-rw-r--r--challenge-081/walt-mankowski/python/ch-1.py13
-rw-r--r--challenge-081/walt-mankowski/python/ch-2.py27
3 files changed, 41 insertions, 1 deletions
diff --git a/challenge-081/walt-mankowski/python/.python-version b/challenge-081/walt-mankowski/python/.python-version
index 0cbfaed0d9..a5c4c76339 100644
--- a/challenge-081/walt-mankowski/python/.python-version
+++ b/challenge-081/walt-mankowski/python/.python-version
@@ -1 +1 @@
-3.8.5
+3.9.0
diff --git a/challenge-081/walt-mankowski/python/ch-1.py b/challenge-081/walt-mankowski/python/ch-1.py
new file mode 100644
index 0000000000..a268b371f5
--- /dev/null
+++ b/challenge-081/walt-mankowski/python/ch-1.py
@@ -0,0 +1,13 @@
+from sys import argv
+
+def is_base(prefix, s):
+ cnt = int(len(s) / len(prefix))
+ return prefix * cnt == s
+
+a, b = argv[1:]
+max_base_len = min(len(a), len(b))
+
+for i in range(1, max_base_len+1):
+ prefix = a[0:i]
+ if is_base(prefix, a) and is_base(prefix, b):
+ print(prefix)
diff --git a/challenge-081/walt-mankowski/python/ch-2.py b/challenge-081/walt-mankowski/python/ch-2.py
new file mode 100644
index 0000000000..b348f03819
--- /dev/null
+++ b/challenge-081/walt-mankowski/python/ch-2.py
@@ -0,0 +1,27 @@
+from sys import argv
+from collections import defaultdict
+import re
+
+d = defaultdict(int)
+fname = argv[1]
+with open(fname) as f:
+ for line in f:
+ line = line.rstrip()
+ line = re.sub('--', ' ', line)
+ toks = line.split()
+ for tok in toks:
+ tok = re.sub('[."(),]', '', tok);
+ tok = re.sub("'s$", '', tok)
+ d[tok] += 1
+
+last = 0
+for k in sorted(d, key=lambda k:(d[k], k)):
+ if d[k] != last:
+ if last != 0:
+ print()
+ print(d[k], end='')
+ last = d[k]
+ print(f" {k}", end = '')
+
+print()
+