¿Las mismas monedas?
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- booleanos
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):
passJavaScript
function sonIguales(mias, tuyas) {
}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.