aboutsummaryrefslogtreecommitdiff
path: root/challenge-321/roger-bell-west/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-321/roger-bell-west/python')
-rwxr-xr-xchallenge-321/roger-bell-west/python/ch-1.py25
-rwxr-xr-xchallenge-321/roger-bell-west/python/ch-2.py28
2 files changed, 53 insertions, 0 deletions
diff --git a/challenge-321/roger-bell-west/python/ch-1.py b/challenge-321/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..f7482985c5
--- /dev/null
+++ b/challenge-321/roger-bell-west/python/ch-1.py
@@ -0,0 +1,25 @@
+#! /usr/bin/python3
+
+def distinctaverage(a0):
+ a = a0.copy()
+ a.sort()
+ offset = len(a) - 1
+ res = set()
+ for i in range(int(len(a) / 2)):
+ res.add(a[i] + a[offset - i])
+ return len(res)
+
+import unittest
+
+class TestDistinctaverage(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(distinctaverage([1, 2, 4, 3, 5, 6]), 1, 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(distinctaverage([0, 2, 4, 8, 3, 5]), 2, 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(distinctaverage([7, 3, 1, 0, 5, 9]), 2, 'example 3')
+
+unittest.main()
diff --git a/challenge-321/roger-bell-west/python/ch-2.py b/challenge-321/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..baf1c7a1c7
--- /dev/null
+++ b/challenge-321/roger-bell-west/python/ch-2.py
@@ -0,0 +1,28 @@
+#! /usr/bin/python3
+
+def backspacecompare(a, b):
+ sa = []
+ for i in [a, b]:
+ oa = []
+ for c in i:
+ if c == "#":
+ oa.pop()
+ else:
+ oa.append(c)
+ sa.append("".join(oa))
+ return sa[0] == sa[1]
+
+import unittest
+
+class TestBackspacecompare(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(backspacecompare("ab#c", "ad#c"), True, 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(backspacecompare("ab##", "a#b#"), True, 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(backspacecompare("a#b", "c"), False, 'example 3')
+
+unittest.main()