タスク
3つの文字列を指定してA, B, C、Binの各インスタンスがでA再帰的に置換された出力文字列を生成するプログラムまたは関数を記述しCます。再帰的に置換とは、各ステップで重複しないBinのすべてのインスタンスA(左から右に貪欲に選択)がに含まれなくなるCまで置換を繰り返すことを意味BしAます。
入出力
- I / Oにはデフォルトのメソッドを使用できます。
- 文字列には、印刷可能なASCII文字のみが含まれます(また、それらのいずれかが含まれることもあります)。
- B一方で、空の文字列になることはありません- Aし、- Cかもしれません。
- 文字列はプレーンテキストとみなされます。たとえば、扱うことはできません B。、正規表現パターンとして。
- 入力の一部の組み合わせは終了しません。これらの場合、プログラムは何でもできます。
テストケース
これらは次の形式です。 A/B/C\nOutput
Hello, world!/world!/PPCG
Hello, PPCG
Uppercase is up/up/down
Uppercase is down
ababababa/aba/ccc
cccbcccba
delete/e/{empty string}
dlt
{empty string}/no/effect
{empty string}
llllrrrr/lr/rl
rrrrllll
+-+-+-+/+-+/+
+
ababababa/aba/bada
badabbadbada
abaaba/aba/ab
abb
((())())())/()/{empty string}
)
終了しない例:
grow/ow/oow
loop/lo/lo
downpercase is down
                
((())())())/()/