도전
한 줄의 입력을 받아들이고 문자에 대해 매우 구체적이고 이상하게 익숙한 셔플을 수행하고 결과를 출력하는 함수 또는 프로그램을 작성하십시오.
필수 셔플 링은 다음 알고리즘을 사용하여 설명 할 수 있습니다.
- 입력의 각 문자에 1 기반 색인으로 레이블을 지정하십시오.
- 문자 번호 1을 출력으로 쓰십시오.
- 문자 번호 2부터 문자 2 자체를 제외하고 다른 모든 문자를 순서대로 출력에 씁니다 . 즉, 문자 4, 6, 8, 10 등을 출력으로 쓰십시오.
- n은 아직 출력으로 기록되지 다음 문자 번호로 시작 출력에 모든 n 번째 문자를 쓰기 제외한 문자 N 자체를, 그리고 당신이 이미 출력에 기입 한 수 (숫자 라벨) 다른 문자를 제외하고.
- 출력에 새 문자를 계속 추가하는 한 4 단계를 반복하십시오.
- 출력 할 나머지 문자를 순서대로 씁니다.
예
- 문자에 라벨을 붙입니다.
12 34 5678 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 OLDDOCYAK '스 뷰티 코너
2. 출력 할 첫 번째 문자를 작성하십시오.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27OLDDOCYAK 'SBEAUTYCORNER O
3. 2를 제외한 2로 시작하는 다른 모든 문자를 쓰십시오.
12 3456789101112131415161718192021222324252627OLDDOCY K'S BEUTYCORNERO OA 'EUYCRE
4. 아직 작성되지 않은 다음 문자는 문자 번호 3입니다. 3으로 시작하지만 문자 3 자체는 제외하고 이미 작성된 문자는 제외합니다.
12 3456789101112131415161718192021222324252627OLDDOCYK'SBEUTYCORNEROOA 'EUYCRE YB R
5. 다음 문자 인 문자 5를 사용하여 4 단계를 반복하십시오.
4. 아직 작성되지 않은 다음 문자는 문자 번호 5입니다. 5로 시작하지만 문자 5 자체는 제외하고 이미 작성된 문자는 제외하고 5 번째 문자를 작성하십시오. (이것은 문자 25에 불과합니다).
12 3456789101112131415161718192021222324252627OLDDOCYK'SBEUTYCORNEROOA 'EUYCREYB R N
5. 다음 문자는 7입니다. 그러나 14, 21은 이미 작성되었으므로 4 단계를 반복하면 더 이상 문자가 출력되지 않습니다. 따라서 5로 끝납니다.
6. 나머지 문자를 순서대로 작성하십시오.
12 3456789101112131415161718192021222324252627OLD DOCYK'SBEUTYCORNEROOA 'EUYCREYB RN LDDCKSATO
규칙
입력 및 출력은 표준 입력 / 표준 출력, 문자열 또는 문자 배열을 통해 이루어질 수 있습니다.
표준 입력으로 읽는 경우 편의상 후행 줄 바꿈이 있거나 전체 입력에 줄이 있다고 가정 할 수 있습니다. 개행 문자는 셔플에 참여하지 않습니다.
마찬가지로 사용자 편의에 따라 출력에 줄 바꿈이있을 수도 있고 없을 수도 있습니다.
표준 허점은 허용되지 않습니다.
이것은 코드 골프 대회입니다. 바이트 단위의 가장 작은 코드가 이깁니다.
테스트 사례
123456789ABCDEF -> 1468ACE9F2357BD
OLD DOC YAK'S BEAUTY CORNER -> O O A' EUYCREYB RNLDDCKSATO
Blue boxes use a 2600hz tone to convince telephone switches that use in-band signalling that the caller is actually a telephone operator.
->
Bebxsuea20h oet ovnetlpoesice htuei-adsgaln httecle satal eehn prtre 0ncce ha nng aiuapootnt ihyon atallu o s 6z oi ehwstsnbilt lr clee.