일련의 문자와 단어 세트가 주어지면 필요하지 않은 문자를 삭제하여 문자열에서 찾을 수 있도록 단어 순서를 출력하십시오. 단어 세트에서 단어가 두 번 이상 나타날 수 있습니다. 입력 문자열과 모든 단어는 각각 1 ~ 1000 개의 소문자로 구성됩니다. 떨어 뜨릴 문자는 단어 내부 또는 단어 사이에 나타날 수 있습니다.
프로그램이나 함수는 문자 스트링과 단어를리스트, 스트링 또는 STDIN으로 승인 할 수 있으며 모든 워드를 올바른 순서로리스트 또는 스트링 출력으로 출력해야합니다. 올바른 솔루션이 두 개 이상인 경우 그 중 하나만 출력하십시오. 올바른 해결 방법이 없으면 빈 목록 또는 빈 문자열을 출력하십시오.
예 :
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및 cc하위 문자열은 한 번만 bb나타나고 하위 문자열이 먼저 나타납니다.
ccbcb문자열 부분 에서 middle을 떨어 뜨린 cc후 출력 bb합니다 c.