Deskripsi
Tugas Anda adalah menampilkan 'peta kedalaman' - yaitu peta ketinggian suatu objek tetapi tidak terlihat dari atas tetapi dari depannya.
Misalnya, perhatikan objek berikut seperti yang ditunjukkan pada gambar. Peta ketinggian ditampilkan di sebelah kiri. Peta kedalaman yang sesuai akan (seperti yang terlihat dari berdiri di panah):
010
211 <- Depthmap
322
Jika Anda berdiri di panah, ada 3 kubus di belakang satu sama lain di titik kiri bawah, 2 di belakang satu sama lain di titik kiri tengah, 0 di titik kiri atas dll.
Memasukkan
Input adalah array dua dimensi dari berbagai ukuran (tidak harus persegi).
Keluaran
Output adalah array dua dimensi yang mewakili peta kedalaman. Seperti yang dapat Anda simpulkan, ukurannya adalah (height x width)
. Dalam gambar, itu akan menjadi (3 x 3)
. Perhatikan bahwa jika menara kubus tertinggi adalah 5, maka depthmap akan menjadi array (5 x 3)
.
Kondisi menang
Kode terpendek menang.
Tidak diizinkan
Semua bahasa diizinkan, tidak ada batasan eksplisit. (Aku tidak tahu apa yang bisa kamu lakukan, tapi tolong bersikap adil.)
Contohnya
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
Jawaban:
Golfscript, 42 karakter
hasil
sumber
[]*
. Trik yang bagus.Ruby 1.9, 102 karakter
Lewati semua testcases.
sumber
Windows PowerShell, 108
111114Passes all test cases.
sumber
Haskell, 118 characters
sumber
Scala 236 characters
With some formatting:
I'm sure a better facility with for comprehensions would mean I could cut some characters from this.
sumber
JavaScript,
235208195 bytesJust for the record, this is the code I made up before posting the question. (Smallened now)
sumber
Haskell Version (Now optimized)
Ungolfed version
sumber
Python, 117 chars
Similar to Ventero's Ruby solution.
sumber
APL (Dyalog Extended), 14 bytes
Try it online!
sumber
Clojure, 102 bytes
sumber
Japt, 12 bytes
Try all test cases
Outputting the rows in reversed order would save 2 bytes, taking input in column-major order would save 1 byte, doing both would (naturally) save 3 bytes
Explanation:
sumber