RosettaCodeData/Task/Balanced-brackets/L++/balanced-brackets.lpp

16 lines
370 B
Text
Raw Permalink Normal View History

2016-12-05 23:44:36 +01:00
(include "string")
(defn bool balanced (std::string s)
(def bal 0)
(foreach c s
(if (== c #\[) (++ bal)
(if (== c #\]) (-- bal)))
(if (< bal 0) (return false)))
(return (== bal 0)))
(main
(decl std::string (at tests) |{"", "[]", "[][]", "[[][]]", "][", "][][", "[]][[]"}|)
(pr std::boolalpha)
(foreach x tests
(prn x "\t" (balanced x))))