✨ ベストアンサー ✨
この問題は、WとBに変換したものを直線状に書くとわかります。
分かりやすくカンマを付けたもの カンマを外したもの 圧縮したもの
WBBBW,WWWBW,WBBBW,WWWBW,WBBBW → WBBBWWWWBWWBBBWWWWBWWBBBW → WB3W4BW2B3W4BW2B3W
こう考えると
元の文字数が25文字、 圧縮後が18文字になりました。
圧縮率 = 圧縮後のデータ量 ÷ 元のデータ量 なので、18 ÷ 25 = 0.72 → 72%
なるほど。実はこの圧縮方法はランレングス法を簡易化したようなものでして、run(連なり)のlength(長さ)を記述することで、文字数を減らす技なのです。ということで、次の例のように考えます。
「すもももももももものうち」(全部で12文字) → 「すも8のうち」 (全部で6文字、数字もひとつの文字として数えます。)
※「も」が8つある
これで、12文字が6文字に圧縮されたと考えるのです。この場合半分に減ったので、圧縮率は50%ということになります。
数字だけを足していくと、21文字になりませんか、?