RubyでMessage Decodingを解く-CodeEval

まず問題を解読するのが大変orz..
どう見てもエレガントな解法じゃない..
特にheaderのsequenceを作る方法がヒドイ
どなたかスマートな解法を教えて下さい


文字列からなるheaderを使って01からなるmessageを解読する
headerの各文字はその位置にマッピングされた
01からなるkeyに対応付けられている
messageは複数のkeyを含む複数のsegmentからできていて
各segmentの最初の3桁がそのsegment内のkeyの長さを表す