Clojure - Balancejat Funcional W19003


Statement
 

pdf   zip

thehtml

Fer una funció (balancejat s) que, donada una seqüència no buida s de caràcters (,),[,], (balancejat s) ens ha de dir si s està ben balancejada.

Vam veure la funció balancejat al primer tema (a dia d’avui, a la plana 46, tema 1) com un dels primers exemples de funcions en Clojure. Aquella versió de balancejat era una traducció quasi directe d’una versió imperativa de l’algorisme, ja que tot just començàvem a estudiar Clojure i no en sabíem prou.


Ara volem que feu una versió més funcional de balancejat. Feu servir reduce.

Public test cases
  • Input

    (balancejat "()")
    (balancejat "[](")
    (balancejat "([()][()()[]])")
    (balancejat "[]()[(())]([]")
    (balancejat '(\[ \( \) \( \) \]))
    

    Output

    true
    false
    true
    false
    true
    
  • Information
    Author
    Jordi Delgado
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure