let S
、a
およびb
それぞれは文字列を表します
目標:あなたは、すべての出現置き換える機能置き換える標準の文字列を書くa
文字列にしS
てb
いる限り、a
すでにのインスタンスの一部ではないがb
たとえば、文字列S
= がある場合My oh my that there is a big ol' that
私たちは空想のに置き換えやってみたかったa = that
とb = that there
我々はすべてのインスタンス代わるthat
とのthat there
インスタンス限り、that
すでにのインスタンスではありませんthat there
したがって、この場合の出力は次のようになります。 My oh my that there is a big ol' that there
最初that
のインスタンスは既にインスタンスの一部であるため、置き換えられませんthat there
ノート
3つの入力はすべて、印刷可能なASCII文字のみを含む文字列でなければなりません
入力は、3つの個別の文字列または3つの文字列のリストとして指定できます
入力が順番になります
S
、a
、b
それ以外の答えで指定しない限り、の
a
一部と見なされるにはb
、のすべてのインスタンスがインスタンスのa
一部である必要がありますb
いくつかのコーナーケースの説明
Input: ["1222", "22", "122"]
Output: "12122"
上記の例では、後者22
が置き換えられます。それの一部がインスタンスの一部であるb
としても、それの全体はのインスタンスの一部ではありませんb
。のインスタンス全体はインスタンスのa
一部ではないため、b
置き換えられます。
Input: ["123 ", "23", "12"]
Output: "112 "
このテストケースは、上記と同じケースを示していますが、おそらくもう少し明確な方法で説明しています。繰り返します2
が、真ん中はのインスタンスの一部であるとa
同時に、のインスタンスの一部でもありますがb
、すべてがa
インスタンスの一部ではないため、b
置き換えられます。
Input: ["Empty", "", "p"]
Output: "pEpmptpyp"
上記のテストケースでは、の前後の空の文字列p
は、のインスタンスの一部とみなすことができるため、置き換えられませんp
。
その他のテストケース
Input: ["aabbaa", "aa", "aabb"]
Output: "aabbaabb"
Input: ["Hello World!", "o", " no"]
Output: "Hell no W norld!"
Input: ["Wow, oh wow, seriously WOW that's... wow", "wow", "WOW,"]
Output: "Wow, oh WOW,, seriously WOW that's... WOW,"
Input: ["Empty", "", "b"]
Output: "bEbmbpbtbyb"
Input: ["Empty", "b", "br"]
Output: "Empty"
Input: ["Empty", "pty", "Empty"]
Output: "Empty"
Input: ["aabbaaa", "aa", "PP"]
Output: "PPbbPPa"
Input: ["121212","1","121"]
Output: "121212"
これはcode-golfの質問なので、バイト単位の最短回答が優先されます。