Ми визначаємо пробіл будь-якого з трьох символів, вкладка (0x09), новий рядок (0x0A) або пробіл (0x20).
Для цього завдання потрібно написати дві програми або функції однією мовою програмування, які виконують такі завдання:
Порахуйте символи пробілів у заданому рядку. Наприклад, вхід
123 -_- abc def
повернеться 7 (за умови, що немає нового рядка).
Розділити заданий рядок під час послідовних пробілів пробілів. Якщо рядок починається або закінчується пробілом, на кінцях не повертаються порожні рядки. Наприклад, той самий вхід
123 -_- abc def
повернеться
["123", "-_-", "abc", "def"]
.
У будь-якому випадку ви можете взяти вхід через STDIN, аргумент командного рядка або аргумент функції, повернути результат або роздрукувати його STDOUT. Для другої програми, якщо ви вирішили надрукувати на STDOUT, будь-ласка, надрукуйте кожен рядок у своєму власному рядку без навколишніх цитат.
Для обох програм ви можете припустити, що вхід містить лише друкований ASCII (0x20 до 0x7E) та пробіл.
Тепер ось улов:
- Якщо весь пробіл видалено з обох програм / функцій, отримані рядки повинні бути однаковими. Тобто, ваші два подання можуть відрізнятися лише кількістю та розміщенням символів пробілу.
- Жодна програма / функція не може містити будь-яких лінійних рядків або регулярних виразів (символьні літерали є нормальними, за умови, що ваша мова має визначений тип символів).
- Жодна програма / функція не може містити коментарів.
- Ви не повинні читати вихідний код програми прямо чи опосередковано.
Це код гольфу. Ваш бал - це сума розмірів обох рішень (у байтах). Виграє найнижчий рахунок.
Табло лідерів
Наступний фрагмент стека створює як звичайний таблицю лідерів, так і огляд переможців за мовою. Тож навіть якщо ваша обрана мова не дозволяє вам перемогти у всьому виклику, чому б не спробувати вирвати місце у другому списку? Мені б дуже цікаво подивитися, як люди вирішують цю проблему на різних мовах!
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
# Language Name, N bytes
де N
є загальний розмір вашого уявлення. Якщо ви покращите свій рахунок, ви можете зберегти старі бали у заголовку, прокресливши їх. Наприклад:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Ви також можете включити індивідуальні підрахунки до загальної кількості, наприклад
# Python 2, 35 + 41 = 76 bytes
Останнє число, яке не прокреслене, буде використано фрагментом.
<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>