문자열이 주어지면 아래 설명과 같이 지그재그 모양의 구조로 축소하는 것입니다.
지그재그로 접기
문자열 "Mississippi"
을 예로 들어 보겠습니다.
먼저 고유 문자로만 구성된 가장 긴 접두사를 출력하십시오.
Mis
첫 번째 중복 문자에 도달하면 C를 , 그것을 무시하고 출력 가장 긴 접두사 (나머지 문자열의 고유 문자로 구성된
issippi
의 첫 번째 항목 아래에 수직으로) C :Mis i s
수평 및 수직 연속을 번갈아 가며이 과정을 반복하십시오. 그러나 이제는 (1 단계에서)이 경우처럼 마지막 중복 문자가 아닌 최근에 발생한 중복 문자에서 수평으로 계속 출력하도록주의하십시오.
Mis i sip ----- Mis i sip i
규칙
- 문자열에는 인쇄 가능한 ASCII 문자 만 포함되지만 공백은 포함되지 않습니다.
- 모든 프로그래밍 언어로 경쟁 할 수 있으며 표준 방법 과 합리적인 형식 1을 통해 입력을 받고 출력을 제공 할 수 있지만 이러한 허점 은 기본적으로 금지되어 있습니다. 이것은 code-golf 이므로 모든 언어에 대한 가장 짧은 제출 (바이트)이 이깁니다.
- 1 입력 : 문자열 / 문자 목록 / 언어가 문자열을 나타내는 데 사용하는 모든 것. 출력 : 여러 줄 문자열, 줄 또는 문자 / 길이 1 문자열 목록을 나타내는 문자열 목록이지만 가능한 경우 답변에 예쁘게 인쇄 된 코드를 포함 시키십시오.
- 추가 공백과 관련하여 출력에는 다음이 포함될 수 있습니다.
- 줄 바꿈 선행 / 후행
- 각 줄의 끝에 / 끝에
- 일치하는 각 행에 선두 자리의 수
- 수평으로 출력을 시작해야합니다 . 수직으로 시작 하지 않을 수 있습니다 .
테스트 사례
입력 :
"완전한" "미시시피" "독점" "삼위 일체" "툴후" "PPCG" "pOpOpOpOpOpOp" "ABCCCE" "ABCCCECCEEEEC" "abcdcebffg" "abca" "AAAAAAAA"
해당 출력 :
성능 씨 티
미스 나는 한모금 나는
Od ies 티
트리 브 ㅏ 엘 ies 티
크툴 유
피 씨 지
PO OpO 팝 피
알파벳 씨 이자형
알파벳 CCE E EC
abcd 이자형 비 fg
알파벳
ㅏ AA ㅏ
대소 문자를 어떻게 처리해야합니까? 예 :
—
Rod
ABCcde
그것들을 다른 캐릭터로 취급해야합니다. 예
—
Mr. Xcoder
"A" ≠ "a"
. 결과는 ABCcde
다음과 같습니다ABCcde
테스트 사례 제안 :
—
JungHwan Min
AAAAAAAA
@JungHwanMin AAAAAAA도 추가했습니다.
—
Mr. Xcoder 2016 년
b
중복 항목 만 고려해야 합니다. 당신은 두 번째에 도달하면 , 당신 출력의 고유 한 문자의 가장 긴 접두사 나머지 문자열 이다, (따라서 출력 이 문자열이 부분에서 문자에 대한 걱정을하지 않아도, 수직 및 그 후 수평 계속) 방향 전환 전에 이미 출력되었습니다. 그래도 확실하지 않은 경우이 테스트 사례를 사용하여 다른 단계별 예제를 작성하겠습니다.c
ebffg
ebf