프로그래머는 아마도 슬래시와 슬래시에 대해 들었을 것입니다. 그러나 다운 슬래쉬에 대해 들어 보셨습니까? 그때 당신은 많은 슬래시를 취하고 끝을 연결하고 내려갑니다.
오늘날의 과제를 해결하려면 순전히 슬래시로 구성된 문자열을 사용하고 해당 슬래시를 모두 아래로 연결하는 줄에 출력하는 프로그램이나 함수를 작성해야합니다. 예제를 보면 더 명확해질 것입니다. 문자열이 주어지면 \\\//\/\\
다음을 출력해야합니다.
\
\
\
/
/
\
/
\
\
다음은 몇 가지 설명입니다.
라인 당 하나의 슬래시가 있어야합니다.
첫 번째 줄에는 선행 공백이 없습니다.
슬래시 쌍마다 :
서로 다르면 같은 열에 그려집니다. 예를 들어 다음
\/
을 제공합니다.\ /
문자가 동일하면 아래쪽 문자가 가리키는 방향 에 있습니다. 즉, 백 슬래시의 경우 오른쪽으로 이동하고 슬래시의 경우 왼쪽으로 이동합니다. 그래서
\\//
줄 것이다\ \ / /
출력의 시각적 모양을 변경하지 않는 한 각 줄마다 추가 공백이있을 수 있습니다. 최대 1 개의 후행 줄 바꿈도 허용됩니다. 여분의 선행 공백 은 허용되지 않습니다 !
더 간단하게 유지하기 위해 문자열에 슬래시가 너무 많이 포함되지 않는다고 가정 할 수 있습니다. 다시 말해서, 입력의 접두어에는 백 슬래시보다 더 많은 슬래시가 포함 되지 않으므로 입력이 같 \\////
거나 //
주어지지 않습니다. 이것은 또한 모든 입력이 백 슬래시로 시작한다는 것을 의미합니다.
입력을 문자열 리터럴로 가져 오는 경우 필요한 경우 백 슬래시를 이스케이프 처리 할 수 있습니다. 또한 비어 있거나 슬래시 이외의 문자를 포함하는 입력을 처리 할 필요가 없습니다.
합리적인 형식으로 출력 할 수 있습니다 .
평소와 같이 이것은 코드 골프 문제이므로 다소 어려운 언어를 선택하더라도 가능한 한 가장 짧은 솔루션을 만드십시오. 바이트를 제거하는 데 사용한 흥미로운 기술을 설명하는 보너스 포인트!
예
#Input
\\\\\\\\\\\
#Output
\
\
\
\
\
\
\
\
\
\
\
#Input
\\\//\\/\//\\///
#Output
\
\
\
/
/
\
\
/
\
/
/
\
\
/
/
/
#Input
\/\/\/
#Output
\
/
\
/
\
/