Saltar al contenido

¿Las mismas monedas?

Enunciado

Mateo y Sofía vaciaron sus bolsillos sobre la mesa. Cada quien anotó en una lista el valor de las monedas que traía.

Escribe una función que reciba las dos listas y regrese verdadero si los dos traen exactamente las mismas monedas, sin importar en qué orden las anotaron. Con 10, 5, 5 y 1 de un lado, y 5, 1, 10 y 5 del otro, regresas verdadero: son las mismas monedas, nada más revueltas.

Las reglas: los repetidos cuentan. Con 10, 10 y 5 contra 10, 5 y 5 regresas falso, aunque en las dos listas aparezcan los mismos valores: una trae dos monedas de 10 y la otra trae una. Si una lista tiene más monedas que la otra, tampoco son iguales. Y dos listas vacías sí son iguales: ninguna trae nada. Puedes contar cuántas veces aparece cada moneda, pero hay un camino más corto: ordena las dos listas y compáralas posición por posición. Si son las mismas monedas, ordenadas quedan idénticas.

Ejemplos

  • Las mismas, revueltas

    [10, 5, 5, 1], [5, 1, 10, 5] → true

  • Los mismos valores, distinta cuenta

    [10, 10, 5], [10, 5, 5] → false

  • A una le falta una moneda

    [10, 5, 5, 1], [10, 5, 1] → false

  • Nada que ver

    [10, 20], [1, 2, 5] → false

  • Una sola, y es la misma

    [20], [20] → true

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

Empiezas con esto

Python

def son_iguales(mias, tuyas):
    pass

JavaScript

function sonIguales(mias, tuyas) {
}
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 →