古典的なランレングスのエンコードとデコードがあります。
input output
a3b2c5 aaabbccccc
そして、それはかなり簡単で前に行われました。
課題は、複数の文字がランレングス(0〜9の1桁)に先行する場合の非標準的な動作も考慮することです。ランレングス数字の前の各文字(数字以外または文字列の最後の前の最後の数字)には、その値が個別に適用され、順番に出力されます。
いくつかのエッジケースを含むいくつかのテスト入力および出力:
input output
ab3c5 aaabbbccccc
a0b3 bbb
13b1 111b
a13b1 aaa111b
a123b1 aaa111222b
aa2a1b1 aaaaab
- 文字シーケンス(
[a-zA-Z0-9]+
)の後には、ランレングス長([0-9]
)が続く必要があります - 有効な入力のみを考慮する必要があります(
([a-zA-Z0-9]+[0-9])*
)- はい、空の文字列は有効な入力です。
- 入力は標準入力経由、出力は標準出力経由
これはコードゴルフで、バイト数が勝者を決定します。