aboutsummaryrefslogtreecommitdiff
path: root/codewars/6-kyu/Duplicate Encoder
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2024-01-27 14:02:35 +0800
committerMistivia <i@mistivia.com>2024-01-27 14:02:35 +0800
commit6580dcd9127f69aaa794472ec92bc46015dc4019 (patch)
treedc2c7e102c75180f7bd98c2f3a14f8b55f83c0f2 /codewars/6-kyu/Duplicate Encoder
init
Diffstat (limited to 'codewars/6-kyu/Duplicate Encoder')
-rw-r--r--codewars/6-kyu/Duplicate Encoder/solution.hs18
1 files changed, 18 insertions, 0 deletions
diff --git a/codewars/6-kyu/Duplicate Encoder/solution.hs b/codewars/6-kyu/Duplicate Encoder/solution.hs
new file mode 100644
index 0000000..1cb38eb
--- /dev/null
+++ b/codewars/6-kyu/Duplicate Encoder/solution.hs
@@ -0,0 +1,18 @@
+-- https://www.codewars.com/kata/54b42f9314d9229fd6000d9c
+
+module Dups where
+
+import Data.Char
+
+count s c
+ | s == [] = 0
+ | c == (head s) = 1 + count (tail s) c
+ | otherwise = count (tail s) c
+
+convert s c
+ | count s c > 1 = ')'
+ | otherwise = '('
+
+duplicateEncode :: String -> String
+duplicateEncode s = map (convert ls) ls
+ where ls = map toLower s