대부분의 언어에는 문자열이 제공되어 특정 하위 문자열이 나타나는 모든 항목을 검색하고 다른 하위 문자열로 대체합니다. 나는이 개념을 (연속적인 것은 아니지만) 서브 시퀀스로 일반화하는 언어를 모른다. 이것이 바로이 도전의 과제입니다.
입력은 세 문자열로 구성된다 A
, B
그리고 C
, 여기서 B
와 C
동일한 길이를 보장한다. B
하위 시퀀스로 나타나는 경우 A
로 교체해야합니다 C
. 다음은 간단한 예입니다.
A: abcdefghijklmnopqrstuvwxyz
B: ghost
C: 12345
다음과 같이 처리됩니다.
abcdefghijklmnopqrstuvwxyz
|| | ||
abcdef12ijklmn3pqr45uvwxyz
B
하위 시퀀스 로 찾는 여러 가지 방법이있는 경우 가장 왼쪽에있는 것을 탐욕스럽게 교체해야합니다.
A: abcdeedcba
B: ada
C: BOB
Result: BbcOeedcbB
and NOT: BbcdeeOcbB
B
여러 개별 장소에서 찾을 수있는 경우에도 동일하게 적용됩니다 .
A: abcdeedcbaabcde
B: ed
C: 12
Result: abcd1e2cbaabcde
and NOT: abcd112cbaabc2e (or similar)
에이 B
표시되지 않으면 변경되지 않은 상태로 A
출력해야합니다 A
.
규칙
전술 한 바와 같이, 세 문자열을 A
, B
그리고 C
입력으로 그리고 가장 왼쪽의 발생을 교체 B
한 시퀀스로서 A
함께 C
임의있을 경우.
STDIN (또는 가장 가까운 대안), 명령 행 인수 또는 함수 인수를 통해 입력을 받고 STDOUT (또는 가장 가까운 대안), 함수 리턴 값 또는 함수 (out) 매개 변수를 통해 결과를 출력하는 프로그램 또는 함수를 작성할 수 있습니다.
세 문자열을 일관된 순서로 받아 답에 명시해야합니다. 당신은 가정 수 B
와 C
동일한 길이를 갖는다. 모든 문자열에는 영숫자 만 포함됩니다.
표준 코드 골프 규칙이 적용됩니다.
테스트 사례
각 테스트 케이스 인 네 줄 A
, B
, C
결과 하였다.
abcdefghijklmnopqrstuvwxyz
ghost
12345
abcdef12ijklmn3pqr45uvwxyz
abcdeedcba
ada
BOB
BbcOeedcbB
abcdeedcbaabcde
ed
12
abcd1e2cbaabcde
121
121
aBc
aBc
abcde
acb
123
abcde
ABC
ABCD
1234
ABC
012345678901234567890123456789
42
TT
0123T5678901T34567890123456789
edcbaedcbaedcbaedcba
abcde
12345
edcbaedcbaedcbaedcba
edcbaedcbaedcbaedcbaedcba
abcde
12345
edcb1edc2aed3bae4cba5dcba
daccdedca
ace
cra
dcrcdadca
aacbcbabcccaabcbabcaabbbbca
abaaaccbac
1223334444
aacbcbabcccaabcbabcaabbbbca
aacbcbabcccaabcbabcaabbbbcac
abaaaccbac
1223334444
1ac2cb2bccc33b3bab4aa4bbbc44
리더 보드
이 게시물의 맨 아래에있는 스택 스 니펫은 답변 a) 언어별로 가장 짧은 솔루션 목록으로, b) 전체 리더 보드로 답변에서 리더 보드를 생성합니다.
답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오.
## Language Name, N bytes
N
제출물의 크기는 어디에 있습니까 ? 당신이 당신의 점수를 향상시킬 경우에, 당신은 할 수 있습니다 를 통해 눈에 띄는에 의해, 헤드 라인에 오래된 점수를 유지한다. 예를 들어 :
## Ruby, <s>104</s> <s>101</s> 96 bytes
헤더에 여러 개의 숫자를 포함 시키려면 (예 : 점수가 두 파일의 합계이거나 인터프리터 플래그 페널티를 별도로 나열하려는 경우) 실제 점수가 헤더 의 마지막 숫자 인지 확인하십시오 .
## Perl, 43 + 2 (-p flag) = 45 bytes
언어 이름을 링크로 만들면 스 니펫에 표시됩니다.
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
[[1], [2], [3]]
.