La description
Votre tâche consiste à générer une «carte de profondeur», c'est-à-dire une carte de hauteur d'un objet, mais pas vue de dessus mais de face.
Par exemple, considérez l'objet suivant comme indiqué sur l'image. La carte des hauteurs est affichée à gauche. La carte de profondeur correspondante serait (vue de la position de la flèche):
010
211 <- Depthmap
322
Si vous vous tenez à la flèche, il y a 3 cubes les uns derrière les autres au point en bas à gauche, 2 derrière les uns les autres au point au milieu à gauche, 0 au point en haut à gauche, etc.
Contribution
L'entrée est un tableau bidimensionnel de n'importe quelle taille (pas nécessairement carré).
Sortie
La sortie est un autre tableau à deux dimensions qui représente la carte de profondeur. Comme vous pouvez en déduire, ses tailles sont (height x width)
. Dans l'image, ce serait (3 x 3)
. Notez que si la tour de cubes la plus haute était de 5, la carte de profondeur serait un tableau de (5 x 3)
.
Condition gagnante
Le code le plus court gagne.
Rejeté
Toutes les langues sont autorisées, aucune restriction explicite. (Je ne sais pas ce que vous pouvez trouver, mais jouez bien s'il vous plaît.)
Exemples
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
Réponses:
Golfscript, 42 caractères
résultats
la source
[]*
. Joli tour.Ruby 1.9, 102 caractères
Réussit tous les tests.
la source
Windows PowerShell, 108
111114Réussit tous les cas de test.
la source
Haskell, 118 caractères
la source
Scala 236 caractères
Avec une mise en forme:
Je suis sûr qu'une meilleure facilité de compréhension signifierait que je pourrais couper certains caractères de cela.
la source
JavaScript,
235208195 octetsJuste pour mémoire, c'est le code que j'ai inventé avant de poster la question. (Réduit maintenant)
la source
Version Haskell (maintenant optimisée)
Version non golfée
la source
Python, 117 caractères
Similaire à la solution Ruby de Ventero.
la source
APL (Dyalog Extended) , 14 octets
Essayez-le en ligne!
la source
Clojure, 102 octets
la source
Japt , 12 octets
Essayez tous les cas de test
La sortie des lignes dans un ordre inversé permettrait d'économiser 2 octets , la prise de données dans l'ordre des colonnes permettrait d'économiser 1 octet , et les deux économiseraient (naturellement) 3 octets
Explication:
la source