Haskell, (削除) 60 (削除ここまで) 59 bytes
(init<>reverse).(scanl(?)<*>tail)
a?_=do u<-a;u:[' '|' '<u]
Explanation
For a string (eg. "abc") we apply first
scanl (?) <*> tail
which is the same as
\str -> scanl (?) str (tail str)
This repeatedly applies (?) (appends a space to each character in the range [33..]) to the str until there are that many strings as str has characters: ["abc","a b c ", "a b c "]
Now we only need to concatenate the result (minus the last element) with its reversed counter part:
init<>reverse
ბიმო
- 17k
- 3
- 43
- 106