Menu
CoddyTech

String Compression

英字からなる文字列 s が与えられます。これを圧縮します。連続する2文字以上の同じ文字の並びは、その文字の後に並びの長さを付けた形に置き換え、単独の文字はそのままにします。たとえば、aabccc は a2bc3 になります。圧縮した文字列を返してください。

大文字と小文字は異なる文字です。aA は長さ1の並びが2つです。

関数

compress(s: string) → string
sstring
圧縮する文字列。英字のみ。
戻り値string
圧縮された文字列。各連続部分は、長さが1を超える場合、文字とその長さで表されます

制約

  • 1 ≤ s.length ≤ 2 × 104
  • sには英字のみが含まれます。aからzまで、およびAからZまでです。
  • ランレングスは10進数で表記され、複数の桁になることがあります。

例

入力
s = "aabccc"
出力
"a2bc3"
説明
連続する文字列は aa、b、ccc です。これらは a2、b(1文字だけの場合は個数が付きません)、c3 になります。
challenge icon

発展問題

逆の操作を書きます。ab12のような圧縮文字列が与えられたとき、元の文字列を復元します。複数の桁からなる回数は、どのように読み取ればよいでしょうか?

コードをリセット
def compress(s):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

s = "aabccc"

期待される出力

"a2bc3"