Clojure - Funcions d'ordre superior 2 X13379


Statement
 

pdf   zip

thehtml

En aquest problema heu d’implementar una sèrie de funcions en Clojure utilitzant només funcions d’ordres superior.

  1. Feu una funció mides que prengui una llista d’strings, calculi la longitud de cada cadena, elimini les longituds parells i sumi les longituds restants.
  2. Feu una funció noms que, donat un map de noms i edats, retorni la llista dels noms de les persones majors de 18 anys, ordenades alfabèticament.
  3. Feu una funció suma que, donat un vector de maps amb les claus :preu i :quantitat, calculi el total per cada element (preu * quantitat), elimini els que tinguin un valor total inferior a 100 i sumi tots els totals.
Public test cases
  • Input

    (mides '("Pep" "Anna" "Joan" "Pau" "Montse"))
    (noms {"Pep" 19 "Anna" 25 "Joan" 15 "Pau" 8 "Montse" 22})
    (suma [{:quantitat 3 :preu 35} {:quantitat 2 :preu 75} {:quantitat 4 :preu 20}])
    
    

    Output

    6
    (Anna Montse Pep)
    255
    
    
  • Information
    Author
    Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure