Ai fini di questa sfida, definiremo gli spazi bianchi solo come avanzamenti di riga (0x0A) e spazi (0x20). Nota che la maggior parte delle lingue e dei sapori regex considerano molti altri caratteri anche come spazi bianchi, sia all'interno che all'esterno dell'intervallo ASCII, quindi potresti non essere in grado di utilizzare i built-in corrispondenti.
La sfida della polizia
Dovresti scrivere un programma o una funzione in una lingua a tua scelta, che accetta una stringa, composta da caratteri ASCII (tranne NUL), come input e output con tutto lo spazio bianco rimosso. Ad esempio se hai ricevuto il seguente input:
H e l l o,
W o r l d!
Dovresti produrre
Hello,World!
Il tuo invio sarà quindi il tuo codice sorgente con tutto lo spazio bianco rimosso (lo stesso processo del passaggio della soluzione come input a se stesso, sebbene la soluzione possa contenere anche caratteri al di fuori dell'intervallo ASCII). Il tuo obiettivo è quello di rendere il più difficile possibile capire dove inserire gli spazi bianchi per recuperare una soluzione valida nella tua lingua preferita. Nota che i ladri possono inserire meno spazi bianchi di quelli che hai rimosso, ma non di più. Ricorda inoltre che i ladri non devono corrispondere al tuo codice esatto, devono solo trovare una soluzione valida.
La tua risposta dovrebbe contenere quanto segue:
- La lingua (e la versione se necessario) in cui hai scritto la tua soluzione.
- Il conteggio dei byte della soluzione prima di rimuovere gli spazi bianchi.
- La tua soluzione con spazi bianchi rimossa.
La soluzione può essere un programma o una funzione, ma non uno snippet e non è necessario assumere un ambiente REPL. È possibile accettare input tramite STDIN, argomento della riga di comando o argomento della funzione e output tramite STDOUT, valore di ritorno della funzione o parametro di funzione (out).
Nell'interesse dell'equità, ci deve essere un interprete o un compilatore liberamente disponibile per la lingua scelta.
Non è necessario utilizzare gli incorporamenti per hash, crittografia o generazione di numeri casuali (anche se si semina il generatore di numeri casuali su un valore fisso). La tua soluzione deve essere in grado di elaborare qualsiasi stringa di 100 caratteri o meno in meno di 10 secondi su una macchina desktop ragionevole.
Se la tua risposta non è stata decifrata entro 7 giorni (168 ore), puoi rivelare la tua soluzione a quel punto la tua risposta è considerata sicura . Fintanto che non rivelerai la tua soluzione, potrebbe essere comunque violata dai ladri, anche se i 7 giorni sono già passati. Vince la risposta sicura più breve (misurata prima di rimuovere gli spazi bianchi).
Se la tua risposta viene decifrata, ti preghiamo di indicarla nell'intestazione della tua risposta, insieme a un link alla risposta del ladro corrispondente.
Vai qui per la parte dei ladri.
Contributi non crackati
<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>