aboutsummaryrefslogtreecommitdiff
path: root/challenge-272
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-06-04 16:16:45 +0100
committerGitHub <noreply@github.com>2024-06-04 16:16:45 +0100
commitfed28635f3fe827d851f08f6fc78ed101420a0ee (patch)
tree511ecba794e0af6cf77f13e3389d06b6809c8c57 /challenge-272
parented46d4b3f943d46f9ff491c7a90878fb2be7968b (diff)
parent80ed2affa6208cd373719365aabafe3c132c0a30 (diff)
downloadperlweeklychallenge-club-fed28635f3fe827d851f08f6fc78ed101420a0ee.tar.gz
perlweeklychallenge-club-fed28635f3fe827d851f08f6fc78ed101420a0ee.tar.bz2
perlweeklychallenge-club-fed28635f3fe827d851f08f6fc78ed101420a0ee.zip
Merge pull request #10212 from chazzka/chazzka-solution
done
Diffstat (limited to 'challenge-272')
-rw-r--r--challenge-272/chazzka/README1
-rw-r--r--challenge-272/chazzka/coconut/ch-2.coco6
-rw-r--r--challenge-272/chazzka/coconut/test/matching_test.coco14
3 files changed, 21 insertions, 0 deletions
diff --git a/challenge-272/chazzka/README b/challenge-272/chazzka/README
new file mode 100644
index 0000000000..fd45943659
--- /dev/null
+++ b/challenge-272/chazzka/README
@@ -0,0 +1 @@
+Solution by chazzka
diff --git a/challenge-272/chazzka/coconut/ch-2.coco b/challenge-272/chazzka/coconut/ch-2.coco
new file mode 100644
index 0000000000..f66b849fdb
--- /dev/null
+++ b/challenge-272/chazzka/coconut/ch-2.coco
@@ -0,0 +1,6 @@
+def string_score(s, accum = 0):
+ match s:
+ case [_]:
+ return accum
+ case [head, sec] + tail:
+ return string_score([sec] + tail, accum + abs(ord(sec) - ord(head))) \ No newline at end of file
diff --git a/challenge-272/chazzka/coconut/test/matching_test.coco b/challenge-272/chazzka/coconut/test/matching_test.coco
new file mode 100644
index 0000000000..de3748ff84
--- /dev/null
+++ b/challenge-272/chazzka/coconut/test/matching_test.coco
@@ -0,0 +1,14 @@
+import unittest
+import importlib
+solution = importlib.import_module("ch-2")
+
+
+class TestStringMethods(unittest.TestCase):
+ def test_matcher(self):
+ solution.string_score("hello") |> self.assertEqual$(13)
+ solution.string_score("perl") |> self.assertEqual$(30)
+ solution.string_score("raku") |> self.assertEqual$(37)
+ solution.string_score("coconut") |> self.assertEqual$(45)
+
+if __name__ == '__main__':
+ unittest.main() \ No newline at end of file