トラック
/
C
C
/
演習
/
ランレングス符号化
ランレングス符号化

ランレングス符号化

中級

説明

ランレングス符号化と復号を実装してください。

ランレングス符号化(RLE)は、データ圧縮のシンプルな方式です。連続して並ぶ同じデータ要素(ラン)を、1つのデータ値とその個数に置き換えます。

たとえば、元の53文字をわずか13文字で表せます。

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

RLEでは、圧縮したデータから元のデータを完全に復元できます。そのため、RLEは可逆圧縮になります。

"AABCCCDEEEE"  ->  "2AB3CD4E"  ->  "AABCCCDEEEE"

話を簡単にするため、符号化する前の文字列には、AからZまでの英字(大文字または小文字)と空白文字しか含まれないと仮定してかまいません。 こうすれば、符号化するデータに数字が含まれることはなく、復号するデータの中の数字は、常に次の文字の個数を表します。


出典

Wikipediaリンクは新しいウィンドウまたはタブで開きます
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
C Exercism

ランレングス符号化を始める準備はできましたか?

Exercismに登録すれば、84個の演習、そして本物の人間によるメンタリングとともに、Cを学んでマスターできます。すべて無料です。