過去のコンテストの問題を解決して、コンピュータサイエンスコンテストに参加する準備をしています。それらのほとんどは非常に簡単ですが、これは私を悩ませています...それは単純に見えますが、私はそれを行うことができません。
1と0の文字列がある場合:
100111010001111100101010
それを入力として受け取り、これを出力するコードは何でしょうか。
1:1 2:0 3:1 1:0 1:1 3:0 5:1 2:0 1:1 1:0 1:1 1:0
ここで、各コロンの左側の数字は、コロンの後の数字が表示された回数です。
だから、別の例...入力:
1100011
出力します:
2:1 3:0 2:1
問題によると、これはファックス送信を圧縮するために使用されるアルゴリズムに似ています。
Javaでの答えが最善ですが、私が本当に探しているのは、擬似コードまたはそれを行う方法についての考えです。
前もって感謝します。