Для целей нынешнего испытания «очертить» слово означает последовательно окружить его собственными буквами, начиная с последней, и, наконец, заменить оригинальное слово в центре пробелами:
oooooo
onnnno
on -> on no
onnnno
oooooo
Задача:
Учитывая список слов, состоящий только из строчных и / или прописных английских букв, обведите каждое слово и отобразите все полученные блоки рядом друг с другом по горизонтали, разделив их столбцом из одного пробела, вертикально выровненным по центрам блоков.
Вы можете написать полную программу или функцию.
Входные данные:
Список слов или, если хотите, строка с пробелами или другими символами
Выход:
ASCII-представление блоков для выделенных слов. Ведущие / конечные пробелы разрешены.
Тестовые случаи:
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
Критерии победы:
Самый короткий код в байтах на каждом языке выигрывает. Я буду очень признателен, если вы прокомментируете / объясните свой код и подход.