これは、月曜日のミニゴルフ#6に触発されています:Meeesesessess upp teeexexextext
バックグラウンド
ETHproductionは、彼の通常のWebページにテキストを入力するのが困難です。彼が数字または文字を使用するたびに、テキストはmeeesesessessesseesseessedesdesededになります。あなたの仕事は、通常の動作が達成されるように彼がタイプするのを助けることです。
変換
変換は、英数字[0-9A-Za-z]
以外の文字で区切られた英数字()文字の実行に影響します。次の例では、最初の行が2番目の行に変換されます(他の行は変換の内訳を示しています)
An12num:
Annn1n12n12nn12nn12nun12nun12numn12num
A
nn
n1
n12
n12nn12n
n12nun12nu
n12numn12num
特に、最初の文字以降の英数字は、最初の文字を除き、これまでの実行全体に変換されます。さらに、文字が(数字ではなく)文字の場合、文字は実行の2倍になります。
ありがたいことに、バックスペースは最後の文字を削除し、実行の開始もリセットします。
仕事
今回は、タスクは変換を実行しないことです。代わりに、入力文字列が与えられた場合、エンコードされたテキストを返さなければなりません。エンコードされたテキストは、変換されると入力になります。出力は\<char>
、単一の文字としてカウントされる場合、できるだけ短くする必要があります。
テキストは次のようにエンコードされます。
\ -> \\
backspace character -> \b
linefeed -> \n
プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。
テストケース
各テストケースは2行で、1行目は入力、2行目は出力です。
Heeeeeelp me. It shouldn't be messed up.
Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b.
alert("Hello, world!");
al\ber\bt("He\bll\bo, wo\brl\bd!");
1223234234523456
123456
1
毎回)実行に含めます。