이 사이트의 많은 사람들이 난해한 언어를 사용 하며,이 언어는 독특하고 이해하기 어렵 기 때문에 종종 특정 형식으로 설명을 작성합니다. 예를 들어 코드가
abcdefghijklmnop
그리고이 언어는 #
주석에 사용 하며 다음과 같은 설명을 작성합니다.
a #Explanation of what 'a' does
bc #Bc
d #d
e #Explanation of e
fgh #foobar
ij #hello world
k #etc.
l #so on
mn #and
op #so forth
나도 자주이 작업을 수행하지만이 작업을 수행 할 때마다 텍스트 레이아웃을 만드는 것이 정말 번거롭고 시간이 많이 걸리는 것 같습니다. 따라서 "Esolang-Comment-Template-Generator"를 작성해주세요. 예를 들어 주석을 무시하면 이전 코드에는 다음 템플릿이 있습니다.
a #
bc #
d #
e #
fgh #
ij #
k #
l #
mn #
op #
도전 과제 :
두 개의 문자열을 입력으로 사용하여이 "Esolang-Comment-Template"을 출력하는 프로그램 또는 함수를 작성해야합니다. 첫 번째 입력은 코드이지만 줄 |
바꿈이있는 곳에 막대 ( )가 삽입됩니다. 두 번째 입력은 주석에 사용할 것입니다. 그래서 우리의 마지막 예제는 입력을 위해 이것을 가질 것입니다 :
"a|bc|d|e|fgh|ij|k|l|mn|op", "#"
불행히도 이것은 막대가 코드 입력의 일부가되는 것을 제외하지만 괜찮습니다. 주석 입력이 단일 문자라고 가정 할 수 있습니다. 간단히하기 위해 주석 문자는 막대가 아닙니다. 코드 입력에는 인쇄 가능한 ASCII 만 포함되며 줄 바꿈은 포함되지 않습니다.
바라건대 테스트 사례에서 수행 할 작업을 유추 할 수 있지만 몇 가지 사항을 명확하게 설명하려고합니다.
코드 입력을 모든 막대에서 "코드 섹션"으로 분할해야합니다. 그런 다음 각 코드 섹션이 자체 행에 출력되고 모든 이전 코드 길이 (막대 제외)로 왼쪽이 채워집니다. 그런 다음 각 줄의 오른쪽에 충분한 공백이 채워 지므로 모든 줄의 마지막 두 문자는 "한 개의 추가 공백"+ "주석 문자"가됩니다.
하나의 후행 줄 바꿈이 허용됩니다.
또 다른 예가 있습니다. 입력
"Hello|World", "/"
코드 의 첫 번째 섹션 은 "Hello"이고 두 번째 섹션 은 "World"입니다. 따라서 출력을 제공해야합니다.
Hello /
World /
다음은 더 많은 샘플입니다.
Input:
"a|b|c|d|e|f|g", ","
Output:
a ,
b ,
c ,
d ,
e ,
f ,
g ,
Input:
"abcdefg", ":"
Output:
abcdefg :
Input:
"4|8|15|16|23|42", "%"
Output:
4 %
8 %
15 %
16 %
23 %
42 %
Input:
"E|ac|h s|ecti|on is| one c|haracte|r longer| than the| last!", "!"
Output:
E !
ac !
h s !
ecti !
on is !
one c !
haracte !
r longer !
than the !
last! !
Input:
"This|Code|has||empty||sections", "@"
Output:
This @
Code @
has @
@
empty @
@
sections @
규칙 :
이러한 입력과 출력을 합리적인 형식으로 취할 수 있습니다. 예를 들어, 파일 읽기 / 쓰기, STDIN / STOUT, 함수 인수 / 반환 값 등. 평상시와 같이 이것은 code-golf 이므로 가능한 짧은 코드를 작성하고 가장 짧은 솔루션을 얻을 수 있으면 승리하십시오. 당신의 언어로! 또한 가장 짧은 솔루션을 전체 우승자로 선택합니다. 표준 허점 은 금지되어 있습니다.
|
당신이 자신을 설명 할 수 있도록, 좋은 것 문자
|
) 일 수 있습니까?