Compress-a-sequence
During my attempt to learn LISP/Clojure, I tried the problems in www.4Clojure.com
4Clojure problem #30 :
Write a function which removes consecutive duplicates from a sequence.
so that
My solution :
4Clojure problem #30 :
Write a function which removes consecutive duplicates from a sequence.
so that
(= (__ [1 1 2 3 3 2 2 3]) '(1 2 3 2 3))
and
(= (__ [[1 2] [1 2] [3 4] [1 2]]) '([1 2] [3 4] [1 2]));; ywidyatama's solution to Compress a Sequence;; https://4clojure.com/problem/30(fn dedupstr2 [s](reduce(fn dedup-reduce [seq_or_n1 n2](let [lastn1(if (seq? seq_or_n1)(last seq_or_n1)seq_or_n1), seq1 (if (seq? seq_or_n1) seq_or_n1 (seq [seq_or_n1])) ](if (= n2 lastn1)seq1(concat seq1 (seq [n2])))))s))
Comments