도전:
입력:
두 개의 입력을받습니다
.-인쇄 가능한 ASCII 만 포함하는 문자열 (공백, 탭 또는 줄 바꿈 제외)
-인쇄 가능한 ASCII 문자
산출:
첫 번째 줄에는 문자열 입력이 포함됩니다. i
이 문자의 -modulo-3이 처음 나타날 때마다 동남쪽으로 이동합니다. 모든 i
-modulo-3 초 마다 남쪽 방향으로 움직입니다. 모든 i
-modulo-3 세 번째 발생은 남서 방향으로 이동합니다. 문자가 처음 시작 위치에 다시 올 때까지 계속 진행 한 다음 (필요한 경우 한쪽에서 다른쪽으로 줄 바꿈 함) 문자열 입력과 함께 마지막 줄을 다시 인쇄합니다. 끝내세요. (모든 테스트 케이스는 length(input)
후행 입력을 포함하는 행을 포함하여 대부분의 행 이후에 초기 입력으로 끝납니다 . 아래 첫 번째 테스트 케이스에서 볼 수 있듯이 길이는 14 일이지만 더 빨리 끝날 수 있습니다. 9.)
이것은 모두 모호 할 수 있으므로 여기에 예제가 있습니다.
테스트 사례 1 :
문자열 입력 : "This_is_a_test"
문자 입력 :'s'
산출:
This_is_a_test
s s s
ss s
s s
sss
sss
s s
ss s
s s s
This_is_a_test
다음은 세 가지의 색상이 지정된 동일한 테스트 사례입니다 s
.
여기서 첫 번째 's'
는 남동 방향으로 녹색 경로를 따라갑니다. 두 번째 's'
는 남쪽 방향으로 노란색 경로를 따릅니다. 세 번째 's'
는 남서 방향으로 하늘색 경로를 따릅니다. (4 분의 1이 's'
있다면 남동쪽 방향으로 다시갑니다. 아래의 다른 테스트 사례에서 볼 수 있습니다.)
도전 규칙 :
- 입력은 인쇄 가능한 ASCII 만 포함합니다 (공백, 탭 및 줄 바꾸기 제외).
- I / O 형식은 유연합니다. 줄 바꿈 문자열, 문자 매트릭스 등이 될 수 있습니다.
- 주어진 문자가 문자열에 없을 수 있습니다.이 경우 입력 문자열을 한두 번 출력
"test", 'a'
할 수 있습니다 (예 : 가능한 출력 :"test\ntest"
/"test"
). - 선행 공간은 필수입니다. 후행 공백은 선택 사항입니다. 하나 또는 여러 개의 선행 / 후행 개행이 허용됩니다.
일반적인 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 리턴 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 필요한 경우 설명을 추가하십시오.
테스트 사례 / 추가 예 :
테스트 사례 2 :
문자열 입력 : "abcabcabcabcabc"
문자 입력 :'b'
산출:
abcabcabcabcabc
b b b b b
bbb bb
b b
bbb bb
b b b b b
b b b b
b b b b b
bb b bb
b b b
bb bbb
b b bbb
b b b b
b bb bb
b b bb b
abcabcabcabcabc
다음은 다섯 가지 경로의 색상이 동일한 테스트 사례입니다 a
.
테스트 사례 3 :
문자열 입력 : "only_two_paths?"
문자 입력 :'o'
산출:
only_two_paths?
o o
o o
o o
o o
o o
oo
o
oo
o o
o o
o o
o o
o o
o o
only_two_paths?
다음은 두 가지 색상의 경로가있는 동일한 테스트 사례입니다 o
.
테스트 사례 4 :
문자열 입력 : "lollollollollol"
문자 입력 :'l'
산출:
lollollollollol
lll ll ll
ll ll ll
l ll ll ll ll
lll l ll l ll
llllll ll ll
l l ll ll
ll lll ll
l l l lll ll l
ll l ll l l
l l l l llll l
ll lll lll
l l l ll
ll lll lllll
l l l ll l ll
lollollollollol
다음은 열 가지의 색상이 지정된 동일한 테스트 사례입니다 l
.
테스트 사례 5 :
문자열 입력 : "AbCdEeDcBaAbCdEeDcBa_CCCCC"
문자 입력 :'C'
산출:
AbCdEeDcBaAbCdEeDcBa_CCCCC
C C C C C
C C C C CCC
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C CC C C
C C CC C C
C C CC C C
C C CC C
CC CC C C
CC CC C C
C C CC C C
C C CC C C C
C C C C C C
C C CC C C C
C C C C C C C
C C C C C C C
C C C C C CC
C C C C C C
C C C C CCC
C C C CCCC
C C C C
C C CCCCC
AbCdEeDcBaAbCdEeDcBa_CCCCC
다음은 일곱 가지의 색이 지정된 경로와 동일한 테스트 사례입니다 C
.
테스트 사례 6 :
문자열 입력 : "XyX"
문자 입력 :'X'
산출:
XyX
XX
X
XyX
다음은 두 가지 색상의 경로가있는 동일한 테스트 사례입니다 X
.
테스트 사례 7 :
문자열 입력 : "aaaa"
문자 입력 :'a'
산출:
aaaa
aa
aaa
aaa
aaaa
다음은 네 가지의 색상이 지정된 동일한 테스트 사례입니다 a
.
length(input)
모든 것이 다시 일치하지만 첫 번째 테스트 사례가 입증되면 더 빠를 수 있다는 것입니다. 그러나 실제로 3 부분의 배수에 대해서는 당신이 옳은 것 같습니다 (100 % 확실하지는 않지만).