Triangularity é um novo esolang desenvolvido pelo Sr. Xcoder, onde a estrutura do código deve seguir um padrão muito específico:
- Para a
n
linha de código th, deve haver exatamente2n-1
caracteres do programa. Isso causa uma forma triangular / pirâmide, com a primeira linha tendo apenas um caractere e o restante aumentando em incrementos de 2. - Cada linha deve ser preenchida com
.
s à esquerda e à direita, de modo que os caracteres sejam centralizados em suas linhas e todas as linhas sejam preenchidas no mesmo comprimento. Sel
for definido como o número de linhas no programa, cada linha no programa deverá ter um comprimento de2 * l - 1
Por exemplo, o programa à esquerda é válido, mas o programa à direita não é:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
Quando disposto na estrutura válida, o nome se torna óbvio.
Tarefa
Sua tarefa é pegar uma string de linha única como entrada, representando o código de Triangularidade, e produzi-la em código válido, conforme descrito acima.
Especificações para E / S:
- A entrada conterá apenas caracteres no intervalo
0x20 - 0x7e
- O comprimento da entrada sempre será um número quadrado e, portanto, agradável.
- Você deve usar pontos para o preenchimento de saída, e não outra coisa.
Você pode inserir e enviar através de qualquer método aceitável . Este é um código de golfe, portanto o código mais curto em bytes vence!
Casos de teste
input
----
output
g
----
g
PcSa
----
.P.
cSa
DfJ0vCq7G
----
..D..
.fJ0.
vCq7G
7xsB8a1Oqw5fhHX0
----
...7...
..xsB..
.8a1Oq.
w5fhHX0
QNYATbkX2sKZ6IuOmofwhgaef
----
....Q....
...NYA...
..TbkX2..
.sKZ6IuO.
mofwhgaef
ABCDEF"$%& G8"F@
----
...A...
..BCD..
.EF"$%.
& G8"F@
ab.c
----
.a.
b.c
Para quem conhece a triangularidade, notará no último caso de teste que as strings não precisam ser manipuladas