Descripción
Su tarea es generar un 'mapa de profundidad', es decir, un mapa de altura de un objeto pero no visto desde su parte superior, sino desde su frente.
Por ejemplo, considere el siguiente objeto como se muestra en la imagen. El mapa de altura se muestra a la izquierda. El mapa de profundidad correspondiente sería (como se ve desde la flecha):
010
211 <- Depthmap
322
Si se para en la flecha, hay 3 cubos uno detrás del otro en el punto inferior izquierdo, 2 uno detrás del otro en el punto central izquierdo, 0 en el punto superior izquierdo, etc.
Entrada
La entrada es una matriz bidimensional de cualquier tamaño (no necesariamente cuadrada).
Salida
La salida es otra matriz bidimensional que representa el mapa de profundidad. Como puedes deducir, sus tamaños son (height x width)
. En la imagen, sería (3 x 3)
. Tenga en cuenta que si la torre más alta de cubos fuera 5, el mapa de profundidad sería una matriz de (5 x 3)
.
Condición ganadora
El código más corto gana.
No permitido
Todos los idiomas permitidos, sin restricciones explícitas. (No sé qué se te ocurre, pero juega limpio, por favor).
Ejemplos
Input: Ouput:
5321 0001
1456 1012
2105 1112
1212
2222
3323
Input: Output:
22 01
13 12
00 22
Input: Output: (of the sample image)
232 010
210 211
101 322
Respuestas:
Golfscript, 42 caracteres
resultados
fuente
[]*
. Buen truco.Ruby 1.9, 102 caracteres
Pasa todos los casos de prueba.
fuente
Windows PowerShell, 108
111114Pasa todos los casos de prueba.
fuente
Haskell, 118 caracteres
fuente
Scala 236 caracteres
Con algo de formato:
Estoy seguro de que una mejor instalación para la comprensión significaría que podría cortar algunos personajes de esto.
fuente
JavaScript,
235208195 bytesSolo para que conste, este es el código que inventé antes de publicar la pregunta. (Smallened ahora)
fuente
Versión Haskell (ahora optimizada)
Versión sin golf
fuente
Python, 117 caracteres
Similar a la solución Rubí de Ventero.
fuente
APL (Dyalog Extended) , 14 bytes
Pruébalo en línea!
fuente
Clojure, 102 bytes
fuente
Japt , 12 bytes
Pruebe todos los casos de prueba
La salida de las filas en orden inverso ahorraría 2 bytes , tomar la entrada en orden de columna principal ahorraría 1 byte , haciendo ambas (naturalmente) ahorraría 3 bytes
Explicación:
fuente