이 도전에서 당신의 임무는 문자열을 암호화하는 것입니다. 운 좋게도 알고리즘은 매우 간단합니다. 왼쪽에서 오른쪽으로 읽는 경우 각 일반적인 쓰기 문자 (ASCII 범위 32-126)는 숫자 N (0-9) 으로 바꿔야 합니다. N + 1 문자와 동일하다는 것을 나타냅니다. 그 전에 위치. 문자가 원래 문자열의 이전 10 개 위치에 나타나지 않는 경우는 예외입니다. 이 경우 문자를 다시 인쇄하면됩니다. 효과적으로, 원래 챌린지에서 작업을 취소 할 수 있어야합니다.
예
입력 문자열 "Programming"
은 다음과 같이 인코딩됩니다.
따라서 예상 출력은 "Prog2am0in6"
입니다.
설명 및 규칙
- 입력 문자열에는 32-126 범위의 ASCII 문자 만 포함됩니다. 결코 비워지지 않을 것이라고 가정 할 수 있습니다.
- 원래 문자열에는 숫자가 포함되지 않아야합니다.
- 문자가 인코딩되면 이후 숫자로 참조 될 수 있습니다. 예를 들어
"alpaca"
로 인코딩해야합니다"alp2c1"
. - 참조는 문자열을 감싸지 않습니다. 이전 문자 만 참조 할 수 있습니다.
- 전체 프로그램 또는 함수를 작성하여 결과를 인쇄하거나 출력 할 수 있습니다.
- 이것은 코드 골프이므로 바이트 단위의 최단 답변이 이깁니다.
- 표준 허점은 금지되어 있습니다.
테스트 사례
Input : abcd
Output: abcd
Input : aaaa
Output: a000
Input : banana
Output: ban111
Input : Hello World!
Output: Hel0o W2r5d!
Input : this is a test
Output: this 222a19e52
Input : golfing is good for you
Output: golfin5 3s24o0d4f3r3y3u
Input : Programming Puzzles & Code Golf
Output: Prog2am0in6 Puz0les7&1Cod74G4lf
Input : Replicants are like any other machine. They're either a benefit or a hazard.
Output: Replicants 4re3lik448ny3oth8r5mac6in8.8T64y'r371it9376a1b5n1fit7or2a1h2z17d.