인쇄 가능한 ASCII 문자 의 비어 있지 않은 문자열을 사용하는 프로그램 (또는 함수)을 작성하십시오 .
문자열에있는 문자의 지그재그 체인을 다음과 같이 연결된 모든 인접 문자 쌍으로 인쇄 (또는 반환)합니다.
/
첫 번째 문자가 정상적인 ASCII 순서로 두 번째 문자 앞에 나타나는 경우 예 :B / A
\
첫 번째 문자가 정상적인 ASCII 순서로 두 번째 문자 다음에 나타나는 경우 예 :B \ A
-
첫 번째와 두 번째 문자가 동일한 경우 예 :A-A
그래서에 대한 출력 Programming Puzzles & Code Golf
될 것이다
o
/ \
r z-z o e G l
/ \ / \ / \ / \ / \
P o r m-m n u l s & C d f
\ / \ / \ / \ / \ / \ / \ /
g a i g P e
\ /
입력 문자열에 문자가 하나만 있으면 출력은 해당 문자가됩니다.
여러분의 프로그램은 치료해야한다 ,
/
, \
, 그리고 -
다른 모든 문자로 그냥 같은.
예를 들어 -\//-- \ //-
:
\
/ \
- /-/
/ \
- --- \ /-/
\ / \ / \
-
\
단일 선택적 후행 줄 바꿈을 제외하고 출력에 불필요한 줄 바꿈이 없어야합니다. (위의 예에서 빈 줄은 문자열의 마지막 공백을 유지하므로 불필요한 것은 아닙니다.) 어떤 배열에도 어떤 줄에도 후행 공백이있을 수 있습니다.
바이트 단위의 가장 짧은 코드가 이깁니다.
하나 더 예-입력 :
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
산출:
9 9 8 6 6
/ \ / \ / \ / \ / \
9 6 8 7 3 3 4 2 4 8 9 8-8
/ \ / \ / \ / \ / \ / \ / \
4 5 2 5 5 2 3-3 3 7 5 2 4 9 9 9-9 7
/ \ / \ / \ / \ / \ / \ / \ / \ / \
3 1 1 3 2 0 1 7 6 3 3 5 8 8 6
\ / \ / \ / \ / \ / \
. 1 1 5 2 9 9 3 7 1 4 6 8 9
\ / \ / \ / \ / \ / \ / \ / \ /
0 0 7 9 5 2 0 0 2 6 9-9 8 5 4 7
\ / \ / \ / \ / \ / \ / \ /
4 4-4 2 8 8 4 2 3 2 7 6
\ / \ / \ / \ /
0 6 8 3 1-1 0
\ / \ /
2 0
'\n'
와 같은 템플릿 문자열 이