Para o propósito deste desafio, definiremos espaço em branco como apenas feeds de linha (0x0A) e espaços (0x20). Observe que a maioria dos idiomas e tipos de expressões regulares também consideram muitos outros caracteres como espaço em branco, dentro e fora do intervalo ASCII, portanto, talvez você não consiga usar os built-ins correspondentes.
O desafio da polícia
Você deve escrever um programa ou função em um idioma de sua escolha, que use uma sequência de caracteres ASCII (exceto NUL), como entrada e saída com todo o espaço em branco removido. Por exemplo, se você recebeu a seguinte entrada:
H e l l o,
W o r l d!
Você deve produzir
Hello,World!
Seu envio será o código-fonte com todo o espaço em branco removido (o mesmo processo que passar sua solução como entrada para si mesmo, embora sua solução também possa conter caracteres fora do intervalo ASCII). Seu objetivo é dificultar ao máximo descobrir onde os espaços em branco precisam ser inseridos para recuperar uma solução válida no idioma de sua escolha. Observe que os ladrões podem inserir menos espaço em branco do que você removeu, mas não mais. Lembre-se também de que os ladrões não precisam corresponder ao seu código exato, apenas precisam encontrar uma solução válida.
Sua resposta deve conter o seguinte:
- O idioma (e versão, se necessário) em que você escreveu sua solução.
- A contagem de bytes da sua solução antes de remover o espaço em branco.
- Sua solução com espaço em branco removido.
Sua solução pode ser um programa ou função, mas não um trecho e você não deve assumir um ambiente REPL. Você pode receber entradas via STDIN, argumento da linha de comando ou argumento da função e saída via STDOUT, valor de retorno da função ou parâmetro da função (saída).
No interesse da justiça, deve haver um intérprete ou compilador disponível gratuitamente para o idioma escolhido.
Você não deve usar built-ins para hash, criptografia ou geração de números aleatórios (mesmo que você propague o gerador de números aleatórios para um valor fixo). Sua solução deve ser capaz de processar qualquer sequência de 100 caracteres ou menos em menos de 10 segundos em uma máquina de desktop razoável.
Se sua resposta não tiver sido solucionada dentro de sete dias (168 horas), você poderá revelar sua própria solução, quando sua resposta será considerada segura . Contanto que você não revele sua solução, ela ainda poderá ser quebrada por ladrões, mesmo que os sete dias já tenham passado. A resposta mais curta e segura vence (medida antes de remover o espaço em branco).
Se sua resposta for quebrada, indique-a no cabeçalho da sua resposta, juntamente com um link para a resposta do ladrão correspondente.
Vá aqui para a parte dos ladrões.
Envios sem rachaduras
<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>