Menu
CoddyTech

String Compression

Ricevi una stringa s composta da lettere inglesi. Comprimila: sostituisci ogni sequenza di due o più lettere uguali consecutive con quella lettera seguita dalla lunghezza della sequenza, e lascia invariata una lettera isolata. Quindi aabccc diventa a2bc3. Restituisci la stringa compressa.

Le lettere maiuscole e minuscole sono diverse: aA corrisponde a due sequenze di lunghezza 1.

Funzione

compress(s: string) → string
sstring
la stringa da comprimere, solo lettere inglesi
Restituiscestring
la stringa compressa, ogni sequenza rappresentata dalla sua lettera seguita dalla sua lunghezza quando la lunghezza è maggiore di 1

Vincoli

  • 1 ≤ s.length ≤ 2 × 104
  • s contiene solo lettere inglesi, da a a z e da A a Z.
  • Una lunghezza di sequenza è scritta in notazione decimale e può avere diverse cifre.

Esempi

Input
s = "aabccc"
Output
"a2bc3"
Spiegazione
Le sequenze sono aa, b e ccc. Diventano a2, b (una lettera singola non riceve alcun conteggio) e c3.
challenge icon

Per approfondire

Scrivi l’operazione inversa: data una stringa compressa come ab12, ricostruisci l’originale. Come leggi un conteggio composto da più cifre?

Ripristina il codice
def compress(s):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

s = "aabccc"

Output atteso

"a2bc3"