Saltar al contenido

El surtido de los proveedores

Enunciado

Don Ramiro surte su ferretería con varios proveedores, y cada uno le deja su catálogo. Antes de hacer el pedido quiere ver qué artículos le puede comprar a cualquiera de ellos: esos nunca le van a faltar en el mostrador.

Escribe una función que reciba catalogos, una lista donde cada elemento es el catálogo de un proveedor: una lista de artículos escritos en minúsculas y sin acentos. Un catálogo puede repetir un artículo y puede venir vacío. Regresa la lista de los artículos que están en todos los catálogos, en orden alfabético y sin repetir ninguno.

Con tres catálogos, ["clavo", "martillo", "cinta"], ["cinta", "clavo", "brocha"] y ["clavo", "cinta", "taladro"], el clavo y la cinta están en los tres, y el martillo, la brocha y el taladro solo en uno: regresas ["cinta", "clavo"].

Si ningún artículo está en todos los catálogos, o si no llegó ningún catálogo, regresas una lista vacía.

Ejemplos

  • El ejemplo

    [["clavo", "martillo", "cinta"], ["cinta", "clavo", "brocha"], ["clavo", "cinta", "taladro"]] → ["cinta", "clavo"]

  • Nada en común

    [["clavo", "lija"], ["brocha", "cable"]] → []

  • Un solo catálogo

    [["taladro", "brocha", "taladro"]] → ["brocha", "taladro"]

  • Un artículo repetido en el mismo catálogo

    [["cinta", "cinta", "clavo"], ["clavo", "cinta"]] → ["cinta", "clavo"]

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def surtido_comun(catalogos):
    pass

JavaScript

function surtidoComun(catalogos) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n log n)

Ver todos los retos →