Inverta a string (com uma condição)

Crie uma função que receba uma string e retorne a string invertida. No entanto, há algumas regras a seguir para tornar o desafio interessante:

  • As posições de MAIÚSCULAS/minúsculas devem ser mantidas na mesma ordem da string original (veja os exemplos #1 e #2).
  • Os espaços devem ser mantidos na mesma ordem da string original (veja o exemplo #3).

Exemplos

SpecialReverseString("Edabit") ➞ "Tibade"

SpecialReverseString("UPPER lower") ➞ "REWOL reppu"

SpecialReverseString("1 23 456") ➞ "6 54 321"

Notas

N/A