Saltar al contenido

Lo que se vendió una sola vez

Enunciado

En una papelería anotan el código de cada cuaderno que se vendió hoy, en el orden en que salieron: 3, 8, 3, 5, 9, 8. El 3 y el 8 se vendieron dos veces; el 5 y el 9, una sola.

Escribe una función que reciba una lista de números y regrese la suma de los que aparecen una sola vez en toda la lista. Con la lista de arriba regresas 14, que es 5 + 9.

Cuidado con la trampa: no se trata de sumar cada número una vez. El 3 y el 8 no aportan nada, porque están repetidos: se quedan fuera por completo.

Si todos los números están repetidos, o si la lista llega vacía, regresas 0. Los números pueden ser negativos.

Pista: al ordenar la lista, las copias de un mismo número quedan pegadas. Así, un número aparece una sola vez si es distinto del que va antes y del que va después.

Ejemplos

  • Dos repetidos

    [3, 8, 3, 5, 9, 8] → 14

  • Ninguno se repite

    [4, 1, 7] → 12

  • Uno sale tres veces

    [1, 2, 3, 1, 1, 4, 5, 6] → 20

  • Lista larga y desordenada

    [1, 10, 9, 4, 2, 10, 10, 45, 4] → 57

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

Empiezas con esto

Python

def suma_de_unicos(numeros):
    pass

JavaScript

function sumaDeUnicos(numeros) {
}
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 →