Dada uma matriz de números inteiros positivos na base 10, onde n > 0
, emitem sua representação de uma parede binária.
Como é que isso funciona?
- Converta cada número em sua representação binária.
- Coloque a representação com zeros à esquerda no comprimento do maior, ou seja,
1, 2
->1, 10
->01, 10
. - Crie uma parede onde os
1
s são tijolos0
es faltam tijolos.
Uma parede é um bloco de caracteres em que qualquer caractere imprimível representa um tijolo e um espaço ( 32
) representa um tijolo ausente. Você pode escolher qualquer caractere para o tijolo; ele não precisa ser distinto do outro lado da parede, desde que não seja um caractere de espaço em branco. O caractere de tijolo ausente deve ser um espaço. Para o exemplo abaixo, eu usei *
os tijolos.
Exemplo
Entrada:
[ 15, 7, 13, 11 ]
[ 1111, 111, 1101, 1011 ]
[ 1111, 0111, 1101, 1011 ]
Saída:
**** *** ** * * **
Regras
- As entradas devem ser obtidas na base 10, se o seu idioma aceitar outras bases, você não poderá usá-las.
- Novas linhas à frente e à direita são permitidas.
- A entrada pode ser considerada como uma lista de números inteiros, argumentos separados ou qualquer formato razoável.
- A saída pode estar em qualquer formato razoável: nova string separada por linha, conjunto de linhas, conjunto 2d etc.
- As brechas padrão não são permitidas.
Casos de teste
Observe que, no primeiro caso de teste, todas as camadas têm um tijolo vazio no final.
[ 14, 4, 6, 2 ]
***
*
**
*
[ 1, 2, 4, 8, 16 ]
*
*
*
*
*
[ 15, 11, 15, 15 ]
****
* **
****
****
[ 11, 10, 9, 8 ]
* **
* *
* *
*
Este é o código de golfe, então o código mais curto vence!
[[1, " ", 1, " "], ...]