Dalam kompetisi olahraga, sering terjadi bahwa pemenang disajikan di podium, dengan orang yang berada di posisi pertama di tengah, orang di tempat kedua di ketinggian tengah di sebelah kiri, dan orang ketiga di tempat terendah dan ke kanan. Kita akan membuatnya kembali di sini dengan beberapa penyesuaian khusus.
Podium disajikan di bawah ini:
@---@
| @ |
@---@| | |
| @ || | |
| | || | |@---@
| | || | || @ |
Ini akan menjadi dasar untuk tantangan ini. Langkah selanjutnya adalah membuat podium cukup lebar agar sesuai dengan orang-orang (string ASCII yang dapat dicetak) yang ada di sana. Namun, kami ingin memastikan keindahan estetika (karena ini adalah kesempatan berfoto yang fantastis), sehingga setiap podium harus memiliki lebar yang sama, dan lebarnya harus aneh. Selain itu, orang-orang akan (jelas) ingin berdiri di tengah podium, sehingga senar harus dipusatkan sebaik mungkin. (Anda dapat menyelaraskan ke kiri atau kanan, dan itu tidak perlu konsisten.) Podium di atas adalah ukuran minimum, dan dianggap 3
lebar.
Misalnya, mengingat input yang ["Tom", "Ann", "Sue"]
mewakili tempat pertama, kedua, dan ketiga, output podium berikut:
Tom
@---@
Ann | @ |
@---@| | |
| @ || | | Sue
| | || | |@---@
| | || | || @ |
Namun, jika kita punya Anne
alih - alih Ann
, kita harus naik ke ukuran berikutnya 5
,, dan pusatkan string sebaik mungkin. Di sini, saya menyelaraskan sehingga huruf "ekstra" Anne
adalah di sebelah kiri tengah, tetapi Anda dapat memilih sisi mana yang akan diluruskan.
Tom
@-----@
Anne | @ |
@-----@| | |
| @ || | | Sue
| | || | |@-----@
| | || | || @ |
Mari kita cari nama yang lebih panjang. Bagaimana dengan ["William", "Brad", "Eugene"]
:
William
@-------@
Brad | @ |
@-------@| | |
| @ || | | Eugene
| | || | |@-------@
| | || | || @ |
Di sini kita dapat melihat bahwa Brad
memiliki banyak ruang putih, Eugene
kurang begitu, dan William
pas.
Untuk test case yang lebih lama, bagaimana dengan ["A", "BC", "DEFGHIJKLMNOPQRSTUVWXYZ"]
:
A
@-----------------------@
BC | @ |
@-----------------------@| | |
| @ || | | DEFGHIJKLMNOPQRSTUVWXYZ
| | || | |@-----------------------@
| | || | || @ |
Akhirnya, kami memiliki input sekecil mungkin, seperti ["A", "B", "C"]
:
A
@---@
B | @ |
@---@| | |
| @ || | | C
| | || | |@---@
| | || | || @ |
- Input dan output dapat diberikan dengan metode apa pun yang mudah .
- Input dijamin non-kosong (yaitu, Anda tidak akan pernah menerima
""
sebagai nama). - Anda dapat mencetaknya ke STDOUT atau mengembalikannya sebagai hasil fungsi.
- Program lengkap atau fungsi dapat diterima.
- Berapapun ruang kosong ekstranus dapat diterima, asalkan karakter berbaris dengan tepat.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.