Na potrzeby obecnego wyzwania „obrysowania” słowo oznacza otaczanie go sukcesywnie własnymi literami, zaczynając od ostatniego, a na końcu zamieniając oryginalne słowo w środku spacjami:
oooooo
onnnno
on -> on no
onnnno
oooooo
Zadanie:
Biorąc pod uwagę listę słów, składającą się wyłącznie z małych i / lub wielkich liter angielskich, obrysuj każde słowo i wyświetlaj wszystkie powstałe bloki obok siebie poziomo, oddzielone kolumną pojedynczej spacji, wyrównane pionowo w środku bloków.
Możesz napisać pełny program lub funkcję.
Wejście:
Lista słów lub, jeśli wolisz, łańcuch rozdzielany spacjami lub innymi symbolami
Wynik:
Reprezentacja ASCII bloków dla wyszczególnionych słów. Wiodące / końcowe białe znaki są dozwolone.
Przypadki testowe:
Input 1: ["code", "golf"] (or "code golf")
Output 1:
cccccccccccc gggggggggggg
cooooooooooc goooooooooog
coddddddddoc gollllllllog
codeeeeeedoc golfffffflog
code edoc golf flog
codeeeeeedoc golfffffflog
coddddddddoc gollllllllog
cooooooooooc goooooooooog
cccccccccccc gggggggggggg
Input 2: ["I", "am", "just", "a", "man"] (or "I am just a man")
Output 2:
jjjjjjjjjjjj
juuuuuuuuuuj mmmmmmmmm
aaaaaa jussssssssuj maaaaaaam
III ammmma justtttttsuj aaa mannnnnam
I I am ma just tsuj a a man nam
III ammmma justtttttsuj aaa mannnnnam
aaaaaa jussssssssuj maaaaaaam
juuuuuuuuuuj mmmmmmmmm
jjjjjjjjjjjj
Kryteria wygranej:
Najkrótszy kod w bajtach w każdym języku wygrywa. Będę bardzo wdzięczny, jeśli skomentujesz / wyjaśnisz swój kod i podejście.