Diberikan array bilangan bulat positif di basis 10, di mana n > 0
, menampilkan representasi mereka dari dinding biner.
Bagaimana cara kerjanya?
- Ubah setiap angka menjadi representasi binernya.
- Pad representasi dengan memimpin nol sampai yang terpanjang yaitu
1, 2
->1, 10
->01, 10
. - Buat dinding di mana
1
s adalah batu bata dan0
s adalah batu bata yang hilang.
Dinding adalah blok karakter di mana setiap karakter yang dapat dicetak mewakili batu bata dan spasi ( 32
) mewakili batu bata yang hilang. Anda dapat memilih karakter apa pun untuk batu bata, itu tidak harus berbeda di dinding selama itu bukan karakter ruang putih. Karakter bata yang hilang harus berupa spasi. Untuk contoh di bawah ini saya gunakan *
untuk batu bata.
Contoh
Memasukkan:
[ 15, 7, 13, 11 ]
[ 1111, 111, 1101, 1011 ]
[ 1111, 0111, 1101, 1011 ]
Keluaran:
**** *** ** * * **
Aturan
- Masukan harus diambil dalam basis 10, jika bahasa Anda menerima basis lain Anda mungkin tidak menggunakannya.
- Memimpin dan mengikuti garis baru diperbolehkan.
- Masukan dapat diambil sebagai daftar bilangan bulat, argumen terpisah atau format apa pun yang masuk akal.
- Output mungkin dalam format apa pun yang wajar: string yang dipisahkan baris baru, array baris, array 2d, dll.
- Celah standar tidak diijinkan.
Uji Kasus
Perhatikan bahwa dalam kasus uji pertama semua lapisan memiliki batu bata kosong di ujungnya.
[ 14, 4, 6, 2 ]
***
*
**
*
[ 1, 2, 4, 8, 16 ]
*
*
*
*
*
[ 15, 11, 15, 15 ]
****
* **
****
****
[ 11, 10, 9, 8 ]
* **
* *
* *
*
Ini golf kode sehingga kode terpendek menang!
[[1, " ", 1, " "], ...]