メインコンテンツへ
基礎理論

文字列「AAAABBBAABBBBBB」(15文字)をランレングス符号化で圧縮した。符号化結果として正しいものはどれか。(「文字,回数」ペアで表現)

ア.A,4・B,3・A,2・B,6正解
イ.A,4・B,3・A,2・B,5
ウ.A,4・B,3・A,1・B,6
エ.A,3・B,3・A,2・B,7

解説

ランレングス符号化は「同じ物が続くときはまとめて報告する」作戦。「白・白・白・白」と4回言う代わりに「白×4」と1回で済ます——FAXが使っている古典的圧縮。

なぜ ア が正解か

アが正解。文字列を左から走査してランを数える:A×4→(A,4)、B×3→(B,3)、A×2→(A,2)、B×6→(B,6)。元の15文字が4ペアに圧縮される(4+3+2+6=15で検証OK)。

なぜ イ は間違いか

最後のBを5と数えている。実際は「AABBBBBB」の後半Bは6個。指を折って数えると B,B,B,B,B,B=6。

なぜ ウ は間違いか

「AA」の部分をA,1と数えている。AAは2文字なのでA,2が正しい。

なぜ エ は間違いか

先頭Aを3個と誤カウント。AAAAは4文字。A,A,A,A——4本の指。

出典: AI生成問題(学習用)