Triangularity adalah esolang baru yang dikembangkan oleh Mr. Xcoder di mana struktur kode harus mengikuti pola yang sangat spesifik:
- Untuk
n
baris kode, pasti ada2n-1
karakter program di dalamnya. Ini menyebabkan bentuk segitiga / piramida, dengan baris pertama hanya memiliki satu karakter dan sisanya bertambah dengan penambahan 2. - Setiap baris harus diisi dengan
.
s di kiri dan kanan, sehingga karakter dipusatkan pada garis mereka dan semua garis empuk dengan panjang yang sama. Jikal
didefinisikan sebagai jumlah baris dalam program, setiap baris dalam program harus memiliki panjang2 * l - 1
Misalnya, program di sebelah kiri valid, tetapi program di sebelah kanan tidak:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
Ketika diletakkan dalam struktur yang valid, namanya menjadi jelas.
Tugas
Tugas Anda adalah mengambil string baris tunggal sebagai input, mewakili kode Triangularity, dan mengeluarkannya dikonversi menjadi kode yang valid seperti yang dijelaskan di atas.
Spesifikasi untuk I / O:
- Input hanya akan berisi karakter dalam kisaran
0x20 - 0x7e
- Panjang input akan selalu berupa angka kuadrat dan dengan demikian dapat dipadatkan dengan baik.
- Anda harus menggunakan titik-titik untuk bantalan keluaran, bukan sesuatu yang lain.
Anda dapat input dan output melalui metode apa pun yang dapat diterima . Ini adalah kode-golf sehingga kode terpendek dalam byte menang!
Uji kasus
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
Bagi mereka yang tahu Triangularity, Anda akan melihat dari test case terakhir bahwa string tidak harus ditangani