Este desafío está relacionado con Voltear panqueques .
Es posible que haya oído hablar de la clasificación de panqueques , donde una pila de panqueques se ordena por tamaño insertando una espátula en la pila y volteando todos los panqueques por encima de la espátula, hasta que los panqueques se clasifiquen de menor a mayor en el plato. El problema del panqueque quemado es ligeramente diferente. Todos los panqueques ahora tienen un lado quemado, y el lado quemado de cada panqueque debe mirar hacia el plato una vez que se complete la clasificación.
Por ejemplo, dada la siguiente pila (tamaño del panqueque a la izquierda. 0
Significado con el lado quemado hacia abajo y 1
significado con el lado quemado hacia arriba a la derecha):
1 0
3 1
2 1
Puede voltear toda la pila para obtener 20 30 11
, voltear los dos primeros para obtener 31 21 11
y voltear toda la pila nuevamente para obtener 10 20 30
, una pila ordenada de panqueques quemados. Esta secuencia de movimientos, flip 3, flip 2, flip 3, podría representarse como 3 2 3
.
El reto
- Dada una variedad de tamaños de panqueques (no necesariamente únicos) y sus orientaciones, genera una secuencia válida de clasificación de panqueques quemados, es decir, una secuencia de volteos que lleva a que la pila de panqueques se clasifique de menor a mayor con los lados quemados hacia abajo.
- La entrada y la salida pueden tener cualquier formato correcto con separadores, pero especifique qué formatos usa y establezca qué extremo de su formato de entrada es la parte superior de la pila (TOS).
- Voltear cero panqueques está permitido.
- Se permite mezclar separadores en la entrada / salida.
Casos de prueba
Para todos los siguientes casos de prueba, la entrada es una lista y la salida es una cadena separada por espacios, y TOS está a la izquierda.
[[1, 0], [3, 1], [2, 1]]
"3 2 3"
[[5, 1], [3, 0], [4, 1], [2, 1], [1, 0]]
"5 3 4 1 3 2 1"
[[5, 1], [3, 0], [3, 0], [1, 1]]
"4 3 2 3"
Como siempre, si algo no está claro o es incorrecto, hágamelo saber en los comentarios. ¡Buena suerte y buen golf!