文字列と単語のセットを指定して、不要な文字を削除することで文字列内で見つけられるように、単語の順序を出力します。単語セット内で単語が複数回出現する場合があります。入力文字列とすべての単語は、それぞれ1〜1000個の小文字で構成されます。ドロップされる文字は、単語の内部または単語の間にある場合があります。
プログラムまたは関数は、文字列と単語をリスト、文字列、またはSTDINから受け入れることができ、すべての単語をリストまたは文字列の出力として正しい順序で出力する必要があります。正しい解が複数ある場合は、そのうちの1つだけを出力します。考えられる正しい解決策がない場合は、空のリストまたは空の文字列を出力します。
例:
dogcatfrog cat frog dog
-> dog cat frog
xxcatfixsxhingonxgrapexxxfishingcxat cat grape catfish fishing
-> catfish grape fishing cat
dababbabadbaccbcbaaacdacdbdd aa bb cc dd ba ba ba ab ac da db dc
-> da ab ba ba ba cc bb aa ac dc db dd
flea antelope
->
(no solution)
これはコードゴルフです。最小バイト数が優先されます。
編集:単語の中に余分な文字を含めることができることを説明しました。
cc
前に置かれますbb
が、bb
and cc
部分文字列は一度だけ現れ、bb
部分文字列が最初に現れます。
ccbcb
文字列の一部でcc
出力bb
し、中央をドロップしてから出力しますc
。