Los vagones que no se mueven
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- división
Enunciado
En el patio de maniobras de Valle Seco hay una regla: los vagones de carga, marcados con número par, están enganchados al riel y no se mueven. Los de pasajeros, con número impar, sí, y el jefe de patio quiere que queden de menor a mayor en los lugares que ya ocupan.
Escribe una función que reciba una lista de enteros (puede venir vacía y traer negativos) y regrese una lista nueva: cada par sigue en su posición, y los impares, ordenados de menor a mayor, van llenando los lugares de impares de izquierda a derecha. El 0 es par, y un negativo como -3 es impar.
Con [5, 8, 3, 2, 1]: el 8 y el 2 no se mueven; los impares 5, 3 y 1 se acomodan como 1, 3 y 5. Queda [1, 8, 3, 2, 5].
Ejemplos
El del ejemplo
[5, 8, 3, 2, 1] → [1, 8, 3, 2, 5]
Todos de carga
[4, 2, 0, 6] → [4, 2, 0, 6]
Todos de pasajeros
[7, 3, 9, 1] → [1, 3, 7, 9]
Impares repetidos
[3, 6, 3, 1] → [1, 6, 3, 3]
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def acomoda_vagones(vagones):
passJavaScript
function acomodaVagones(vagones) {
}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.