Menu
CoddyTech

String Compression

Kamu mendapat string s yang terdiri dari huruf-huruf bahasa Inggris. Kompres string tersebut: ganti setiap rangkaian dua huruf sama atau lebih yang berurutan dengan huruf itu diikuti panjang rangkaiannya, dan biarkan huruf yang berdiri sendiri apa adanya. Jadi, aabccc menjadi a2bc3. Kembalikan string yang telah dikompres.

Huruf besar dan huruf kecil dianggap berbeda: aA terdiri dari dua rangkaian dengan panjang 1.

Fungsi

compress(s: string) → string
sstring
string yang akan dikompresi, hanya huruf bahasa Inggris
Mengembalikanstring
string terkompresi, setiap rangkaian ditulis sebagai hurufnya diikuti panjangnya jika panjangnya lebih dari 1

Batasan

  • 1 ≤ s.length ≤ 2 × 104
  • s hanya berisi huruf bahasa Inggris, a hingga z dan A hingga Z.
  • Panjang run ditulis dalam desimal dan dapat terdiri dari beberapa digit.

Contoh

Input
s = "aabccc"
Output
"a2bc3"
Penjelasan
Rangkaian karakternya adalah aa, b, dan ccc. Hasilnya menjadi a2, b (huruf tunggal tidak mendapat hitungan), dan c3.
challenge icon

Pertanyaan lanjutan

Tulis proses kebalikannya: dengan string terkompresi seperti ab12, bangun kembali string aslinya. Bagaimana cara membaca jumlah yang terdiri dari beberapa digit?

Reset kode
def compress(s):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

s = "aabccc"

Output yang diharapkan

"a2bc3"