Menu
CoddyTech

String Compression

Você recebe uma string s de letras do alfabeto inglês. Comprima-a: substitua cada sequência de duas ou mais letras iguais consecutivas por essa letra seguida pelo comprimento da sequência, e mantenha uma letra que aparece sozinha como está. Assim, aabccc se torna a2bc3. Retorne a string comprimida.

Letras maiúsculas e minúsculas são diferentes: aA são duas sequências de comprimento 1.

Função

compress(s: string) → string
sstring
a string a ser compactada, somente letras do alfabeto inglês
Retornastring
a string compactada, cada sequência escrita como sua letra seguida de seu comprimento quando o comprimento for maior que 1

Restrições

  • 1 ≤ s.length ≤ 2 × 104
  • s contém apenas letras do alfabeto inglês, de a a z e de A a Z.
  • Um comprimento de sequência é escrito em decimal e pode ter vários dígitos.

Exemplos

Entrada
s = "aabccc"
Saída
"a2bc3"
Explicação
As sequências são aa, b e ccc. Elas se tornam a2, b (uma letra isolada não recebe contagem) e c3.
challenge icon

Para ir além

Faça o inverso: dada uma string comprimida como ab12, reconstrua a original. Como você lê uma contagem com vários dígitos?

Redefinir código
def compress(s):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

s = "aabccc"

Saída Esperada

"a2bc3"