입력
인쇄 할 수없는 ASCII 문자 (32-126 범위)로 구성된 비어 있지 않은 인코딩 된 문자열 (일부 누락 된 문자가 _
.
산출
누락 된 문자를 포함하여 모든 문자가 소문자로 동일한 길이의 디코딩 된 문자열입니다.
어떻게?
편집 : 주석에서 @Deusovi가 언급했듯이 이것은 Bacon의 암호 변형입니다 .
- 원래 문자열의 모든 문자를 수집하고 5로 그룹화하십시오. 5의 전체 그룹에 맞지 않는 추가 문자는 무시됩니다.
- 각 그룹을 소문자 = 0 , 대문자 = 1 이진수로 변환합니다 . 이것은 정수 목록으로 이어집니다.
- 이 목록의 각 값 N 을 사용
_
하여 원래 문자열의 각 값을 알파벳 순서로 N 번째 문자 (0 색인)로 바꿉니다.
예: prOGraMMIng PuZZleS & cOde ____
prOGr --> 00110 --> 6 --> 7th letter = 'g'
aMMIn --> 01110 --> 14 --> 15th letter = 'o'
gPuZZ --> 01011 --> 11 --> 12th letter = 'l'
leScO --> 00101 --> 5 --> 6th letter = 'f'
누락 된 문자를 바꾸고 모든 것을 다시 소문자로 변환하면 원래 문자열이 공개됩니다.
programming puzzles & code golf
이것은 예상되는 출력입니다.
설명 및 규칙
- 누락 된 문자는 문자열 끝에 표시됩니다. 더 공식적으로 : 첫 번째 이후에는 어떤 편지도 없습니다
_
입력 문자열에서 . 그러나 공백 및 문장 부호와 같은 다른 인쇄 가능한 ASCII 문자가있을 수 있습니다. - 입력은 쓸모없는 대문자 를 포함하지 않습니다 . 모든 대문자는 1 로 설정된 비트 이며 누락 된 문자를 해독하는 데 필요합니다. 다른 모든 것은 소문자입니다.
- 입력 문자열이 유효합니다. 특히:
- 항상 밑줄을 해독하기에 충분한 5 개의 문자 그룹이 포함됩니다.
- 이진으로 인코딩 된 정수는 [0-25] 범위에 있도록 보장됩니다 .
_
입력 문자열에 전혀 없을 수도 있습니다 .이 경우 입력 만 반환하면됩니다.- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다!
테스트 사례
Input : hello!
Output: hello!
Input : helLO, worl_!
Output: hello, world!
Input : i aM yoUr faTh__.
Output: i am your father.
Input : prOGraMMIng PuZZleS & cOde ____
Output: programming puzzles & code golf
Input : Can YOu gUesS tHE ENd oF This ____?
Output: can you guess the end of this text?
Input : THe qUICk brown FOx JUMps oVEr the la__ ___.
Output: the quick brown fox jumps over the lazy dog.
Input : RoadS? wHERe we're goinG WE doN't need _____.
Output: roads? where we're going we don't need roads.
Input : thE greatESt Trick thE DeVIl EVer PUllEd wAs CONvInciNg tHe WorLD h_ ____'_ _____.
Output: the greatest trick the devil ever pulled was convincing the world he didn't exist.
몇 가지 추가 테스트 사례 :
Input : BInar_
Output: binary
Input : 12 MonKey_
Output: 12 monkeys
Input : hyPerbolIZ__
Output: hyperbolized
Input : {[One Last Test ca__]}
Output: {[one last test case]}
_
입력 문자열에 없는 규칙 은 약간 특별한 경우입니다.
The input is guaranteed not to contain any useless capital letter
밑줄이없는 경우 대문자도 표시되지 않습니다.
[32-126]
. 다른 테스트 사례를 추가했습니다.