Saltar al contenido

Los vagones que no se mueven

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):
    pass

JavaScript

function acomodaVagones(vagones) {
}
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 →