免責事項:この質問の中で語られた物語は完全に架空のものであり、イントロを提供する目的でのみ発明されました。
私の上司は新しいおもちゃのロボットを手に入れました。彼は、単純な矢印の指示を入力して、移動できるようにしたいと考えています。これらの指示は次のとおりです。^(前方に移動する場合)<(左折する場合)、>(右折する場合)。しかし、ロボットをプログラミングしたので、彼は追加の機能を望んでいます。彼は、入力された矢印のシーケンスを変換して、ロボットが指定されたパスを取るのではなく、入力されたパスを取った場合に最終的に配置される場所によって示される目的の場所に移動するように、可能。PP&CGのメンバーであるあなたに、この仕事を手伝ってくれるようお願いします。
あなたのタスク:
矢印で構成された文字列を、入力で示された場所にできるだけ早く到達する文字列に変換するプログラムまたは関数を作成します。回転には、前後に移動するのとまったく同じ時間がかかります。
入力:
上記の矢印のストリング。必要に応じて、矢印の代わりに別の文字を使用することもできますが、回答にその事実を必ず含めてください。すべてのテストケースは通常矢印を使用します。
出力:
可能な限り効率的にロボットを目的の目的地に導く矢印のストリング(または同等の文字)。
テストケース:
提供されるソリューションは可能性にすぎず、他のソリューションが有効な場合があることに注意してください。
>^<<^^>^^ -> ^^<^
^^^^>^^^^ -> ^^^^>^^^^
>>>^^^^^^ -> <^^^^^^
>^>^>^>^ -> (empty string)
^<^^<^^<^^^^ -> >^^>^
得点:
ロボットのメモリは限られているため、プログラムのバイト数は可能な限り少なくする必要があります。
^<^^<^^<^^^^
-> >^^>^
?