From 34531261097ff884893213a0dd4dea05fa8533bd Mon Sep 17 00:00:00 2001 From: Kang-min Liu Date: Thu, 21 Jan 2021 00:09:25 +0900 Subject: a solution to pwc 096.2 in janet-lang --- challenge-096/gugod/janet/ch-2.janet | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 challenge-096/gugod/janet/ch-2.janet diff --git a/challenge-096/gugod/janet/ch-2.janet b/challenge-096/gugod/janet/ch-2.janet new file mode 100644 index 0000000000..55887d1c4b --- /dev/null +++ b/challenge-096/gugod/janet/ch-2.janet @@ -0,0 +1,24 @@ + +(defn lev + "Compute the Levenshtein distance between string a and b" + [a b] + (cond (= 0 (length a)) (length b) + (= 0 (length b)) (length a) + (let [ + a_head (string/slice a 0 1) + a_tail (string/slice a 1) + b_head (string/slice b 0 1) + b_tail (string/slice b 1) + levtail (lev a_tail b_tail) + ] + (if (= a_head b_head) levtail + (+ 1 (min + (lev a b_tail) + (lev a_tail b) + levtail)))))) + +# main +(loop [[s1 s2] :in [ ["kitten" "sitting"] ["sunday" "monday"] ]] + (print (string + "Input: S1=" s1 " S2=" s2 "\n" + "Output: " (lev s1 s2)))) -- cgit