Introdução
Vamos observar a seguinte string:
AABBCCDDEFFGG
Você pode ver que todas as letras foram duplicadas , exceto a letra E
. Isso significa que a carta E
foi duplicada . Portanto, a única coisa que precisamos fazer aqui é reverter esse processo, o que nos fornece a seguinte string não-duplicada :
AABBCCDDEEFFGG
Vamos dar um exemplo mais difícil:
AAAABBBCCCCDD
Você pode ver que há um número desigual de consecutivos B
, o que significa que um dos BB
foi desduplicado da string original. Precisamos apenas de-duplicar esta carta, o que nos dá:
AAAABBBBCCCCDD
O desafio
Dada uma sequência desduplicada não vazia , consistindo apenas em caracteres alfabéticos (somente em maiúsculas ou apenas minúsculas), retorne a sequência não desduplicada . Você pode assumir que sempre haverá pelo menos um caractere deduplicado na string.
Casos de teste
AAABBBCCCCDDDD --> AAAABBBBCCCCDDDD
HEY --> HHEEYY
AAAAAAA --> AAAAAAAA
N --> NN
OOQQO --> OOQQOO
ABBB --> AABBBB
ABBA --> AABBAA
Isso é código-golfe , então o menor envio válido em bytes vence!
ABBB
mapear para AABBBB
, não AABBBBBB
?
A BB B
. Os caracteres que não estão emparelhados (e, portanto, não estão duplicados) precisam ser duplicados, resultando em AA BB BB
, que é a sequência não desduplicada.
AABBBB
.