Definimos espaço em branco como qualquer um dos três caracteres, tab (0x09), nova linha (0x0A) ou espaço (0x20).
Para esse desafio, você deve escrever dois programas ou funções na mesma linguagem de programação, que executam as seguintes tarefas:
Conte os caracteres de espaço em branco em uma determinada sequência. Por exemplo, a entrada
123 -_- abc def
retornaria 7 (desde que não haja uma nova linha à direita).
Divida uma determinada sequência em execuções consecutivas de espaço em branco. Se a sequência começar ou terminar com espaço em branco, nenhuma sequência vazia deverá ser retornada nas extremidades. Por exemplo, a mesma entrada
123 -_- abc def
voltaria
["123", "-_-", "abc", "def"]
.
Em qualquer um dos casos, você pode receber informações via STDIN, argumento de linha de comando ou argumento de função para retornar o resultado ou imprimi-lo STDOUT. Para o segundo programa, se você optar por imprimir em STDOUT, imprima cada sequência em sua própria linha, sem aspas.
Nos dois programas, você pode assumir que a entrada contém apenas ASCII imprimível (0x20 a 0x7E) e espaço em branco.
Agora, aqui está o problema:
- Se todo o espaço em branco for removido dos dois programas / funções, as seqüências resultantes deverão ser idênticas. Ou seja, seus dois envios podem diferir apenas no número e no posicionamento dos caracteres de espaço em branco.
- Nenhum programa / função pode conter literais de sequência ou regex (literais de caracteres são bons, desde que seu idioma tenha um tipo de caractere designado).
- Nenhum programa / função pode conter comentários.
- Você não deve ler o código fonte do programa, direta ou indiretamente.
Isso é código de golfe. Sua pontuação é a soma dos tamanhos de ambas as soluções (em bytes). Menor pontuação ganha.
Classificação
O seguinte snippet de pilha gera uma tabela de classificação regular e uma visão geral dos vencedores por idioma. Portanto, mesmo que seu idioma de escolha não permita que você vença todo o desafio, por que não tentar conquistar um lugar na segunda lista? Eu ficaria muito interessado em ver como as pessoas enfrentam esse desafio em vários idiomas!
Para garantir que sua resposta seja exibida, inicie-a com um título, usando o seguinte modelo de remarcação:
# Language Name, N bytes
onde N
é o tamanho total do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Você também pode incluir as contagens individuais antes da contagem total, por exemplo
# Python 2, 35 + 41 = 76 bytes
O último número que não for atingido será usado pelo 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>