new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
28
Task/Balanced-brackets/Clojure/balanced-brackets.clj
Normal file
28
Task/Balanced-brackets/Clojure/balanced-brackets.clj
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
(defn gen-brackets [n]
|
||||
(->> (concat (repeat n \[) (repeat n \]))
|
||||
shuffle
|
||||
(apply str ,)))
|
||||
|
||||
(defn balanced? [s]
|
||||
(loop [[first & coll] (seq s)
|
||||
stack '()]
|
||||
(if first
|
||||
(if (= first \[)
|
||||
(recur coll (conj stack \[))
|
||||
(when (= (peek stack) \[)
|
||||
(recur coll (pop stack))))
|
||||
(zero? (count stack)))))
|
||||
|
||||
user> (->> (range 10)
|
||||
(map gen-brackets ,)
|
||||
(map (juxt identity balanced?) ,) vec)
|
||||
[["" true]
|
||||
["[]" true]
|
||||
["[[]]" true]
|
||||
["[][[]]" true]
|
||||
["[]][][][" nil]
|
||||
["[[[[[]]]]]" true]
|
||||
["]][[][][[[]]" nil]
|
||||
["[]]]][[[[]][][" nil]
|
||||
["][][[]]][[][][][" nil]
|
||||
["][][]]][]][[[][[[]" nil]
|
||||
Loading…
Add table
Add a link
Reference in a new issue