aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalt Mankowski <waltman@pobox.com>2020-10-06 21:08:46 -0400
committerWalt Mankowski <waltman@pobox.com>2020-10-06 21:08:46 -0400
commit293c72bd0be6f09dba088d564d92d6820357bb3e (patch)
tree4526f4e43dd0a858a2aef523550e4febfb97d2d4
parent7af4d2a5a2c40a060f78972bd974af2ee836c631 (diff)
downloadperlweeklychallenge-club-293c72bd0be6f09dba088d564d92d6820357bb3e.tar.gz
perlweeklychallenge-club-293c72bd0be6f09dba088d564d92d6820357bb3e.tar.bz2
perlweeklychallenge-club-293c72bd0be6f09dba088d564d92d6820357bb3e.zip
python solutions to challenge 81
-rw-r--r--challenge-081/walt-mankowski/python/ch-1.py13
-rw-r--r--challenge-081/walt-mankowski/python/ch-2.py29
2 files changed, 42 insertions, 0 deletions
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..2b6c400b45
--- /dev/null
+++ b/challenge-081/walt-mankowski/python/ch-2.py
@@ -0,0 +1,29 @@
+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)
+ if line == '':
+ continue
+ 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()
+