컨텍스트가있는 문자열
이 문제를 해결하기 위해 컨텍스트 가있는 문자열은 왼쪽 컨텍스트 , 데이터 부분 및 오른쪽 컨텍스트 라고하는 3 중 문자열 입니다. 더 긴 문자열의 하위 문자열을 나타냅니다. 수직 파이프 |를 구분 기호로 사용하므로 컨텍스트가있는 문자열의 예 cod|e-go|lf는 왼쪽 컨텍스트는 cod, 데이터는 e-go, 오른쪽 컨텍스트는 lf입니다. 이 예는의 하위 문자열 e-go을 나타냅니다 code-golf.
이제 두 문자열을 컨텍스트와 연결하기 위해 aa|bcc|dee및 cc|de|eee예제를 사용하여 다음과 같이 진행합니다 . 다이어그램에서와 같이 문자열을 정렬합니다
a a|b c c|d e e
c c|d e|e e e
데이터 부분이 인접 해 있습니다. 연결의 데이터 부분은이 경우 데이터 부분의 연결입니다 bccde. 왼쪽 컨텍스트는 추가 사항을 첫 번째 데이터 파트의 왼쪽으로 확장하는 파트입니다 (이 경우) aa. 마찬가지로 올바른 컨텍스트는 eee이므로 연결은 컨텍스트가있는 문자열입니다 aa|bccde|eee. 두 번째 예를 들어, 고려 a|bb|cd와 aabb|cd|두 번째 단어는 비어있는 권리 컨텍스트를 가지고 곳. 정렬 다이어그램은
a|b b|c d
a a b b|c d|
여기서 두 번째 단어의 왼쪽 컨텍스트는 첫 번째 단어의 왼쪽 컨텍스트보다 더 확장됩니다. 연결은 aa|bbcd|입니다.
그러나 정렬 다이어그램의 문자가 일치하지 않으면 연결이 존재하지 않습니다. 일례의 도면으로서 aa|bb|cc및 c|c|cIS
a a|b b|c c
c|c|c
를 Where b와 c네 번째 열에는 동의, 그래서 그들은 연결될 수 없습니다.
작업
귀하의 임무는 |위와 같이 부분이 분리 된 컨텍스트를 가진 두 개의 문자열을 가져 와서 연결이 있으면 연결하고 그렇지 않은 경우 다른 것을 출력 하는 프로그램을 작성하는 것입니다. 컨텍스트가있는 유효한 문자열이 아닌 한 "무언가"는 출력이없는 것을 포함한 모든 값이 될 수 있으며 모든 경우에 동일합니다. 그러나 오류를 던지는 것은 용납되지 않습니다. STDIN-to-STDOUT 프로그램 또는 기능을 제공 할 수 있으며 익명 기능도 허용됩니다. 가장 작은 바이트 수가 이기고 표준 허점은 허용되지 않습니다.
테스트 사례
aa|bcc|dee cc|de|eee -> aa|bccde|eee
a|bb|cd aabb|cd| -> aa|bbcd|
a|b|cccd aab|cc|c -> aa|bcc|cd
a|b|c b||cd -> a|b|cd
aa|bb|cc c|c|c -> None
aaa|b|c abb|cd|d -> None
|bb|cd abb|c|ed -> None
a|b|c a||cd -> None
|1<2=""정의에 추가하면&해결됩니다. 사양에 더 명시 적으로 지정하지 않아서 죄송합니다. 편집하겠습니다.