문자열에 특정 함수 집합이 있다고 가정 해 봅시다. 이러한 함수는 공백이나 madlib를 채우는 것과 비슷합니다. 단 하나의 입력 만 사용하고 모든 공백을 채우는 데 사용합니다. 예를 들어 다음과 같은 함수가있을 수 있습니다.
I went to the ____ store and bought ____ today.
이 함수를 문자열에 적용 cheese
하면 결과는 다음과 같습니다.
I went to the cheese store and bought cheese today.
이러한 함수는 비어 있지 않은 문자열 목록으로 나타낼 수 있습니다. 여기서 공백은 단순히 문자열 사이의 간격입니다. 예를 들어 위의 함수는 다음과 같습니다.
["I went to the ", " store and bought ", " today."]
이 표현에는 이러한 종류의 모든 기능에 대해 하나의 표현 만 있고 각 표현에 대해 하나의 기능 만 있습니다.
정말 깔끔한 것은 그러한 기능 세트가 구성으로 닫혀 있다는 것입니다. 다시 말해, 우리 기능 중 두 가지의 구성은 항상 이러한 기능 중 하나입니다. 예를 들어 위에서 함수를 작성하면
["blue ", ""]
( blue
입력 앞에 붙는 함수 ) 함수는 다음과 같습니다.
["I went to the blue ", " store and bought blue ", " today."]
이것들은 조금 더 복잡해질 수 있습니다. 예를 들어 첫 번째 함수를
["big ", " and ", ""]
결과는
["I went to the big ", " and ", " store and bought big ", "and", " today."]
직무
비어 있지 않은 문자열 목록으로 설명 된대로 두 가지 기능을 수행하고 그 구성을 비어 있지 않은 문자열 목록으로 출력해야합니다.
이 문제를 해결하기 위해 목록은 중복을 허용하는 순서가 지정된 컨테이너 일 수 있으며 문자열은 기본 문자열 유형, 문자 목록 또는 정수 목록 일 수 있습니다.
이것은 코드 골프 응답이 적은 바이트로 더 나은 바이트 단위로 점수가 매겨지는 것입니다.
테스트 사례
["","xy"] ["ab",""] -> ["ab","xy"]
["x","y","z"] ["a","b"] -> ["xa","bya","bz"]
["xy"] ["ab"] -> ["xy"]
["","",""] ["a",""] -> ["a","a",""]
["x",""] ["","",""] -> ["x","",""]
["x","y","z"] ["a","b","c"] -> ["xa","b","cya","b","cz"]
["x","x","x"] ["a"] -> ["xaxax"]
["w","x","y","z"] ["ab","cd","e"] -> ["wab","cd","exab","cd","eyab","cd","ez"]