チャレンジ
切断規則と別の文字列を記述する文字列が与えられた場合、最初の文字列によって記述された規則を使用して、2番目の文字列から一部を切り取ります。
両方の文字列は、文字a-z
またはのA-Z
いずれかを選択します(同じ方法で表す必要はありません)。2番目の文字列を変更する方法を以下に説明します。
アルゴリズム
最初の文字列を取得し、隣接しない(増加する)文字間のギャップを=
;で埋めることを想像してください。たとえば、abcfg
=> abc==fg
。次に、2つの文字列を並べて、等号の上にない最初の文字列のすべての文字を返します。例えば、所与abcfg
およびqrstuvw
入力として:
qrstuvw - Modify
abc==fg - Modifier
qrs--vw -> qrsvw
等号で埋めた後の修飾子が短い場合、2番目の文字列のすべての後続文字を含める必要があります。修飾子が長い場合、末尾の文字は無視されます。
修飾子はソートされることを保証されていません。
テストケース
abcfg, qrstuvw -> qrsvw
abqrs, qwertyuiopasdfghjklzxcvbnm -> qwjklzxcvbnm
za, qr -> qr
azazaz, qwertyuioplkjhgfdsazxcvbnmnbvcxzasdfghjklpoiuytrewq -> qmn
参照実装(テストケースの生成に使用)-> TIO
ルール
- 標準的な抜け穴が適用されます
- 入力は、2つの文字列、2つの文字のリスト、文字のマトリックスなどとして受け取ることができます(他の合理的な形式も受け入れられます)
- 文字列または文字のリスト(または文字列の他の標準形式)として出力できます
- これはcode-golfであるため、各言語のバイト単位の最短回答がその言語の勝者として宣言されます。回答は受け付けられません。
- どちらの文字列も空にすることができます。
ハッピーゴルフ!
There, I blew it up (with a segfault)