B - 高橋くんと文字列圧縮
解説
実行時間制限: 2 sec / メモリ制限: 256 MB
問題文
高橋くんはある文字列 を持っています。文字列を短く表現することに興味のある高橋くんは、以下の圧縮方法を試してみることにしました。
- 文字列 を同じ文字が連続する文字列に分割します。(分割)
- 分割された各文字列を、文字と、その文字が連続する長さをつなげた新たな文字列に変換します。(変換)
- 最後に、変換した各文字列を前から順に結合します。(結合)
aabbbaad
という文字列に上記の圧縮方法を適用すると
aabbbaad
をaa
bbb
aa
d
に分割aa
bbb
aa
d
を、それぞれa2
b3
a2
d1
に変換a2
b3
a2
d1
をa2b3a2d1
と結合
以上より、a2b3a2d1
を得ることができます。
あなたには文字列 が与えられるので、上記の方法で圧縮された文字列を求めるプログラムを、高橋くんの代わりに書いてください。
入力
入力は以下の形式で標準入力から与えられる。
- 圧縮する文字列 が与えられる( は文字列 の長さを表す)。
- は英小文字から成る文字列であることが保証される。
出力
から作られた圧縮された文字列を標準出力に出力せよ。
末尾の改行を忘れないこと。
入力例1Copy
Copy
aabbbaad
出力例1Copy
Copy
a2b3a2d1
問題文中の例です。
入力例2Copy
Copy
aabbbbbbbbbbbbxyza
出力例2Copy
Copy
a2b12x1y1z1a1
長さは10進表記です。
入力例3Copy
Copy
edcba
出力例3Copy
Copy
e1d1c1b1a1
圧縮された結果、元の文字列より長くなることもあります。