Beschreibung
Ihre Aufgabe ist es, eine 'Tiefenkarte' auszugeben, dh eine Höhenkarte eines Objekts, die nicht von oben, sondern von vorne zu sehen ist.
Betrachten Sie beispielsweise das folgende Objekt wie auf dem Bild gezeigt. Die Höhenkarte wird links angezeigt. Die entsprechende Tiefenkarte würde lauten (vom Pfeil aus gesehen):
010
211 <- Depthmap
322
Wenn Sie am Pfeil stehen, befinden sich am linken unteren Punkt 3 Würfel hintereinander, am linken mittleren Punkt 2 hintereinander, am linken oberen Punkt 0 usw.
Eingang
Die Eingabe ist ein zweidimensionales Array beliebiger Größe (nicht unbedingt quadratisch).
Ausgabe
Die Ausgabe ist ein weiteres zweidimensionales Array, das die Tiefenkarte darstellt. Wie Sie ableiten können, sind seine Größen (height x width)
. Auf dem Bild wäre es (3 x 3)
. Wenn der höchste Turm aus Würfeln 5 wäre, wäre die Tiefenkarte ein Array von (5 x 3)
.
Gewinnbedingung
Der kürzeste Code gewinnt.
Nicht erlaubt
Alle Sprachen erlaubt, keine expliziten Einschränkungen. (Ich weiß nicht, was Sie sich einfallen lassen können, aber spielen Sie bitte fair.)
Beispiele
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
Antworten:
Golfscript, 42 Zeichen
Ergebnisse
quelle
[]*
. Guter Trick.Ruby 1.9, 102 Zeichen
Besteht alle Testfälle.
quelle
Windows PowerShell, 108
111114Besteht alle Testfälle.
quelle
Haskell, 118 Zeichen
quelle
Scala 236 Zeichen
Mit etwas Formatierung:
Ich bin mir sicher, dass eine bessere Möglichkeit zum Verständnis bedeuten würde, dass ich einige Zeichen daraus herausschneiden könnte.
quelle
JavaScript,
235208195 BytesNur zur Veranschaulichung, dies ist der Code, den ich vor dem Posten der Frage erfunden habe. (Smallened jetzt)
quelle
Haskell-Version (jetzt optimiert)
Ungolfed-Version
quelle
Python, 117 Zeichen
Ähnlich der Ruby-Lösung von Ventero.
quelle
APL (Dyalog Extended) , 14 Byte
Probieren Sie es online!
quelle
Clojure, 102 Bytes
quelle
Japt , 12 Bytes
Probieren Sie alle Testfälle aus
Das Ausgeben der Zeilen in umgekehrter Reihenfolge würde 2 Bytes einsparen , das Eingeben in Spalten-Hauptreihenfolge würde 1 Byte einsparen , und beides würde (natürlich) 3 Bytes einsparen
Erläuterung:
quelle