Descrição
Sua tarefa é produzir um 'mapa de profundidade' - ou seja, um mapa de altura de um objeto, mas não visto de cima, mas de frente.
Por exemplo, considere o seguinte objeto, como mostrado na imagem. O mapa de altura é mostrado à esquerda. O mapa de profundidade correspondente seria (como visto em pé na seta):
010
211 <- Depthmap
322
Se você estiver na seta, existem 3 cubos um atrás do outro no ponto inferior esquerdo, 2 atrás um do outro no ponto médio esquerdo, 0 no ponto superior esquerdo etc.
Entrada
A entrada é uma matriz bidimensional de qualquer tamanho (não necessariamente quadrado).
Saída
A saída é outra matriz bidimensional que representa o mapa de profundidade. Como você pode deduzir, seus tamanhos são (height x width)
. Na imagem, seria (3 x 3)
. Observe que se a torre mais alta de cubos fosse 5, o mapa de profundidade seria uma matriz de (5 x 3)
.
Condição vencedora
O código mais curto vence.
Não permitido
Todos os idiomas são permitidos, sem restrições explícitas. (Não sei o que você pode criar, mas jogue limpo, por favor.)
Exemplos
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
Respostas:
Golfscript, 42 caracteres
resultados
fonte
[]*
. Bom truque.Ruby 1.9, 102 caracteres
Passa em todos os casos de teste.
fonte
Windows PowerShell, 108
111114Passa em todos os casos de teste.
fonte
Haskell, 118 caracteres
fonte
Scala 236 caracteres
Com alguma formatação:
Tenho certeza de que uma facilidade melhor com compreensão significaria que eu poderia cortar alguns caracteres disso.
fonte
JavaScript,
235208195 bytesApenas para constar, esse é o código que criei antes de postar a pergunta. (Diminuído agora)
fonte
Versão Haskell (agora otimizada)
Versão ungolfed
fonte
Python, 117 caracteres
Semelhante à solução Ruby da Ventero.
fonte
APL (Dyalog Extended) , 14 bytes
Experimente online!
fonte
Clojure, 102 bytes
fonte
Japonês , 12 bytes
Experimente todos os casos de teste
A saída das linhas na ordem inversa economizaria 2 bytes , e a entrada na ordem principal da coluna economizaria 1 byte , enquanto os dois economizariam (naturalmente) 3 bytes
Explicação:
fonte