aboutsummaryrefslogtreecommitdiff
path: root/challenge-194/roger-bell-west/python/ch-2.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-194/roger-bell-west/python/ch-2.py')
-rwxr-xr-xchallenge-194/roger-bell-west/python/ch-2.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-194/roger-bell-west/python/ch-2.py b/challenge-194/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..568621d839
--- /dev/null
+++ b/challenge-194/roger-bell-west/python/ch-2.py
@@ -0,0 +1,27 @@
+#! /usr/bin/python3
+
+import unittest
+from collections import defaultdict
+
+def frequencyequalizer(s):
+ f = defaultdict(lambda: 0)
+ for c in s:
+ f[c] += 1
+ v = list(f.values())
+ v.sort()
+ if v[0] == v[-2] and v[0] + 1 == v[-1]:
+ return True
+ return False
+
+class TestFrequencyEqualizer(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(frequencyequalizer("abbc"), True, 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(frequencyequalizer("xyzyyxz"), True, 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(frequencyequalizer("xzxz"), False, 'example 3')
+
+unittest.main()