이 과제의 목적을 위해, 우리는 정의 할 것이다 공백 으로 만 줄 바꿈 (0x0A)과 공간 (0x20입니다). 대부분의 언어와 정규 표현식은 ASCII 문자의 내부와 외부에서 많은 다른 문자를 공백으로 간주하므로 해당 내장 기능을 사용하지 못할 수 있습니다.
경찰의 도전
ASCII (NUL 제외) 문자로 구성된 문자열을 입력으로 사용하고 모든 공백을 제거한 상태로 출력하는 프로그램 또는 함수를 선택한 언어로 작성해야합니다. 예를 들어 다음과 같은 입력을받은 경우 :
H e l l o,
W o r l d!
출력해야합니다
Hello,World!
제출은 모든 공백이 제거 된 소스 코드 가됩니다 (솔루션이 ASCII 범위 밖의 문자를 포함 할 수도 있지만 입력을 솔루션으로 전달하는 것과 동일한 프로세스). 목표는 선택한 언어로 유효한 솔루션을 복구하기 위해 공백을 삽입해야하는 위치를 파악하기 어렵게 만드는 것입니다. 강도는 제거한 것보다 적은 공백을 삽입 할 수 있지만 그보다 많지는 않습니다. 또한 강도는 정확한 코드와 일치 할 필요가 없으며 유효한 솔루션 만 찾으면됩니다.
귀하의 답변에는 다음이 포함되어야합니다.
- 솔루션을 작성한 언어 (및 필요한 경우 버전)
- 공백 을 제거 하기 전에 솔루션의 바이트 수입니다 .
- 공백이 제거 된 솔루션.
솔루션은 프로그램 또는 기능 일 수 있지만 스 니펫은 아닐 수 있으며 REPL 환경을 가정해서는 안됩니다. STDIN, 명령 행 인수 또는 함수 인수를 통해 입력하고 STDOUT, 함수 리턴 값 또는 함수 (out) 매개 변수를 통해 출력 할 수 있습니다.
공정성을 위해 선택한 언어에 대한 무료 통역사 또는 컴파일러가 있어야합니다.
난수 생성기를 고정 된 값으로 시드하더라도 해싱, 암호화 또는 난수 생성에 내장 기능을 사용해서는 안됩니다. 솔루션은 합리적인 데스크탑 시스템에서 10 초 이내에 100 자 이하의 문자열을 처리 할 수 있어야합니다.
7 일 (168 시간) 내에 답변이 깨지지 않은 경우 답변이 안전한 것으로 간주되는 시점에 자신의 해결책을 밝힐 수 있습니다 . 해결책을 밝히지 않는 한, 7 일이 지난 후에도 여전히 강도에 의해 금이 갈 수 있습니다. 가장 짧은 안전 응답이 이깁니다 (공백을 제거하기 전에 측정).
답변에 금이 가면 답변 헤더에 해당 강도의 답변 링크와 함께 표시하십시오.
크랙되지 않은 제출
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 103182;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>