Gracias a la comunidad PPCG, Santa ha logrado refabricar todos sus regalos y, después de la línea de montaje, ¡los regalos ya están listos para ser trasladados a los muelles de transporte!
Cada uno de los muelles de transporte de Santa solo tiene una gama de tamaños actuales porque los trineos de transporte están especializados para un tamaño específico (cualquier encendedor y sería un desperdicio, más pesado y el trineo no podría manejar la carga). Por lo tanto, necesita que lo ayudes a tomar sus regalos y ordenarlos en los muelles de transporte correctos.
Desafío
Dada una lista y los rangos del muelle de transporte, organice los regalos de manera estable en el orden correcto.
Tomemos esto por ejemplo: los regalos son [5, 3, 8, 6, 2, 7]
y los rangos de acoplamiento son [[1, 5] and [6, 10]]
.
Los regalos 5
, 3
y 2
entran en el primer muelle y los regalos 8
, 6
y 7
entran en el segundo muelle. Esto se puede mostrar como [[5, 3, 2], [8, 6, 7]]
. Esta lista estará más cerca de ser ordenada que la entrada, pero stably
significa que dentro de cada muelle, el orden de los regalos debe ser el mismo que el orden de la entrada (de lo contrario, podría ordenar toda la lista).
Su salida final para este caso sería [5, 3, 2, 8, 6, 7]
(como una lista plana).
Especificaciones de formato
Se le dará entrada como una lista plana de números enteros y una lista de rangos en cualquier formato razonable (por ejemplo, el rango para el caso anterior podría ser dado como [[1, 5], [6, 10]]
, [1, 5, 6, 10]
, o [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
). Su salida debe ser una lista plana de enteros en cualquier formato razonable.
La entrada puede contener valores duplicados; en este caso, debe devolver todas las instancias de ellos. Todos los tamaños actuales estarán exactamente en un rango de tamaño, y puede suponer que los rangos nunca se superpondrán. Puede haber huecos en los rangos siempre que se cubran todos los tamaños actuales.
Reglas
- Se aplican lagunas estándar
- Este es el código de golf , por lo que gana la respuesta más corta en bytes
- No se aceptarán respuestas.
- Puede suponer que no habrá rangos vacíos (
[7, 4]
no sería válido porque los rangos aumentan)
Casos de prueba
[1, 2, 3, 4, 5, 6, 7] ; [[1, 3], [4, 7]] => [1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7] ; [[4, 7], [1, 3]] => [4, 5, 6, 7, 1, 2, 3]
[7, 3, 5, 4, 6, 1, 2] ; [[1, 3], [4, 5], [6, 7]] => [3, 1, 2, 5, 4, 7, 6]
[4, 7, 6, 3, 5, 2, 1] ; [[1, 4], [5, 7]] => [4, 3, 2, 1, 7, 6, 5]
[1, 1, 3, 3, 6, 4, 7] ; [[1, 4], [6, 7]] => [1, 1, 3, 3, 4, 6, 7]
Nota: Me inspiré para esta serie de desafíos de Advent Of Code . No estoy afiliado a este sitio
Puede ver una lista de todos los desafíos de la serie mirando la sección 'Vinculados' del primer desafío aquí .