diff options
Diffstat (limited to 'codewars/6-kyu/valid-braces/solution.hs')
| -rw-r--r-- | codewars/6-kyu/valid-braces/solution.hs | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/codewars/6-kyu/valid-braces/solution.hs b/codewars/6-kyu/valid-braces/solution.hs deleted file mode 100644 index 6b139fd..0000000 --- a/codewars/6-kyu/valid-braces/solution.hs +++ /dev/null @@ -1,21 +0,0 @@ --- https://www.codewars.com/kata/5277c8a221e209d3f6000b56 -module Codewars.Kata.Braces where - -validBraces :: String -> Bool -validBraces xs = impl 0 0 0 xs where - impl cnt1 cnt2 cnt3 str = - if str == [] then - cnt1 == 0 && cnt2 == 0 && cnt3 == 0 - else let - x = head str - xs = tail str - in - if cnt1 < 0 || cnt2 < 0 || cnt3 < 0 then - False - else if x == '(' then impl (cnt1 + 1) cnt2 cnt3 xs - else if x == ')' then impl (cnt1 - 1) cnt2 cnt3 xs - else if x == '[' then impl cnt1 (cnt2 + 1) cnt3 xs - else if x == ']' then impl cnt1 (cnt2 - 1) cnt3 xs - else if x == '{' then impl cnt1 cnt2 (cnt3 + 1) xs - else if x == '}' then impl cnt1 cnt2 (cnt3 - 1) xs - else False |
