Triangularity es un nuevo esolang desarrollado por Mr. Xcoder donde la estructura del código debe seguir un patrón muy específico:
- Para la
n
línea de código th, debe haber exactamente2n-1
caracteres del programa en él. Esto causa una forma triangular / piramidal, con la primera línea con solo un carácter y el resto aumentando en incrementos de 2. - Cada línea debe rellenarse con
.
s a la izquierda y a la derecha, de modo que los caracteres se centren en sus líneas y todas las líneas se rellenen con la misma longitud. Sil
se define como el número de líneas en el programa, cada línea en el programa debe tener una longitud de2 * l - 1
Por ejemplo, el programa de la izquierda es válido, pero el programa de la derecha no lo es:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
Cuando se presenta en la estructura válida, el nombre se vuelve obvio.
Tarea
Su tarea es tomar una cadena de línea única como entrada, que representa el código de Triangularidad, y convertirla en un código válido como se describió anteriormente.
Especificaciones para E / S:
- La entrada solo contendrá caracteres en el rango
0x20 - 0x7e
- La longitud de la entrada siempre será un número cuadrado y, por lo tanto, se puede rellenar muy bien.
- Debe usar puntos para el relleno de salida, no otra cosa.
Puede ingresar y enviar a través de cualquier método aceptable . Este es un código de golf, por lo que gana el código más corto en bytes .
Casos de prueba
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 aquellos que conocen la triangularidad, notarán desde el último caso de prueba que las cadenas no tienen que ser manejadas