Sha256: 4bc1affbbfae484c2af3ec8c41a7f7c054c144649552f28d3a8181fd99102d75
Contents?: true
Size: 445 Bytes
Versions: 396
Compression:
Stored size: 445 Bytes
Contents
(ns bracket-push) (defn valid? [s] (let [pairs { \) \( \] \[ \} \{ } opening (set (vals pairs)) closing (set (keys pairs))] (loop [stack [] [x & xs :as s] s] (cond (empty? s) (empty? stack) (opening x) (recur (conj stack x) xs) (closing x) (if (= (peek stack) (pairs x)) (recur (pop stack) xs) false) :else (recur stack xs)))))
Version data entries
396 entries across 396 versions & 1 rubygems