Definiamo gli spazi bianchi come uno dei tre caratteri, tab (0x09), newline (0x0A) o spazio (0x20).
Per questa sfida, devi scrivere due programmi o funzioni nello stesso linguaggio di programmazione, che svolgono le seguenti attività:
Contare i caratteri degli spazi bianchi in una determinata stringa. Ad esempio, l'input
123 -_- abc def
restituirebbe 7 (a condizione che non ci sia nuova riga finale).
Dividi una determinata stringa in serie consecutive di spazi bianchi. Se la stringa inizia o termina con spazi bianchi, non è necessario restituire stringhe vuote alle estremità. Ad esempio, lo stesso input
123 -_- abc def
sarebbe tornato
["123", "-_-", "abc", "def"]
.
In entrambi i casi è possibile prendere input tramite STDIN, argomento della riga di comando o argomento della funzione per restituire il risultato o stamparlo STDOUT. Per il secondo programma, se si sceglie di stampare su STDOUT, stampare ciascuna stringa sulla propria riga, senza virgolette circostanti.
Per entrambi i programmi si può presumere che l'input contenga solo ASCII stampabili (da 0x20 a 0x7E) e spazi bianchi.
Ora ecco il trucco:
- Se tutto lo spazio bianco viene rimosso da entrambi i programmi / funzioni, le stringhe risultanti devono essere identiche. Cioè, i tuoi due invii possono differire solo nel numero e nella posizione dei caratteri degli spazi bianchi.
- Nessuno dei due programmi / funzioni può contenere valori letterali stringa o regex (i caratteri letterali vanno bene, a condizione che la lingua abbia un tipo di carattere designato).
- Nessun programma / funzione può contenere commenti.
- Non devi leggere il codice sorgente del programma, direttamente o indirettamente.
Questo è il codice golf. Il tuo punteggio è la somma delle dimensioni di entrambe le soluzioni (in byte). Il punteggio più basso vince.
Classifiche
Il seguente frammento di stack genera sia una classifica regolare che una panoramica dei vincitori per lingua. Quindi, anche se la tua lingua preferita non ti consente di vincere l'intera sfida, perché non provare a prendere un posto nella seconda lista? Sarei molto interessato a vedere come le persone affrontano questa sfida in una varietà di lingue!
Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, usando il seguente modello Markdown:
# Language Name, N bytes
dove si N
trova la dimensione totale del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Puoi anche includere i conteggi individuali prima del conteggio totale, ad es
# Python 2, 35 + 41 = 76 bytes
L'ultimo numero non barrato verrà utilizzato dallo snippet.
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>site = 'meta.codegolf',postID = 5314,isAnswer = true,QUESTION_ID = 42253;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>