EP
Size: a a a
EP
DL
DL
ML
ML
A
VL
ML
T
KC
DS
NA
KC
clojure.pprint
и clojure.java.io
в require добавитьKC
DS
AR
AR
(defmulti transition (fn [{:keys [state]} _] state))
(defmethod transition :start
[s e]
(case e
\a (assoc s :state :found-a)
s))
(defmethod transition :found-a
[s e]
(case e
\a s
\b (-> s (update :counter inc) (assoc :state :start))
(assoc s :state :start)))
(->> ["abaaabc" "aaacb" "bbbcab"]
(map (partial reduce transition {:state :start :counter 0}))
(map :counter))
KC
IG