ほとんどの言語には、指定された部分文字列のすべての出現を文字列で検索し、それらを別の部分文字列に置き換える組み込み機能が付属しています。この概念を(必ずしも連続的ではない)サブシーケンスに一般化する言語は知りません。それがこの挑戦におけるあなたの仕事です。
入力は3つの文字列A
、B
およびC
で構成されます。ここでB
およびC
は同じ長さであることが保証されています。のB
サブシーケンスとして表示される場合は、A
に置き換える必要がありC
ます。以下に簡単な例を示します。
A: abcdefghijklmnopqrstuvwxyz
B: ghost
C: 12345
次のように処理されます。
abcdefghijklmnopqrstuvwxyz
|| | ||
abcdef12ijklmn3pqr45uvwxyz
B
サブシーケンスとして検索する方法がいくつかある場合は、左端のものを貪欲に置き換える必要があります。
A: abcdeedcba
B: ada
C: BOB
Result: BbcOeedcbB
and NOT: BbcdeeOcbB
B
複数のばらばらの場所で見つかった場合も同様です。
A: abcdeedcbaabcde
B: ed
C: 12
Result: abcd1e2cbaabcde
and NOT: abcd112cbaabc2e (or similar)
B
がに表示されない場合はA
、A
そのまま出力する必要があります。
ルール
上述したように、3つの文字列を取りA
、B
そしてC
入力などとの一番左の発生を置き換えるB
にサブシーケンスとしてA
持つC
いかなるがある場合は、。
プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。
3つの文字列は、回答で指定する必要がある一貫した順序で取得できます。あなたはそれを仮定し、同じ長さB
をC
持つことができます。すべての文字列には英数字のみが含まれます。
標準のコードゴルフ規則が適用されます。
テストケース
各テストケースは4行A
でB
、:C
、、その後に結果が続きます。
abcdefghijklmnopqrstuvwxyz
ghost
12345
abcdef12ijklmn3pqr45uvwxyz
abcdeedcba
ada
BOB
BbcOeedcbB
abcdeedcbaabcde
ed
12
abcd1e2cbaabcde
121
121
aBc
aBc
abcde
acb
123
abcde
ABC
ABCD
1234
ABC
012345678901234567890123456789
42
TT
0123T5678901T34567890123456789
edcbaedcbaedcbaedcba
abcde
12345
edcbaedcbaedcbaedcba
edcbaedcbaedcbaedcbaedcba
abcde
12345
edcb1edc2aed3bae4cba5dcba
daccdedca
ace
cra
dcrcdadca
aacbcbabcccaabcbabcaabbbbca
abaaaccbac
1223334444
aacbcbabcccaabcbabcaabbbbca
aacbcbabcccaabcbabcaabbbbcac
abaaaccbac
1223334444
1ac2cb2bccc33b3bab4aa4bbbc44
リーダーボード
この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からリーダーボードを生成します。
回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。
## Language Name, N bytes
N
提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:
## Ruby, <s>104</s> <s>101</s> 96 bytes
ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。
## Perl, 43 + 2 (-p flag) = 45 bytes
言語名をリンクにして、スニペットに表示することもできます。
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
[[1], [2], [3]]
です。