เรากำหนดช่องว่างให้เป็นหนึ่งในสามของตัวละครแท็บ (0x09), ขึ้นบรรทัดใหม่ (0x0A) หรือเว้นวรรค (0x20)
สำหรับความท้าทายนี้คุณต้องเขียนสองโปรแกรมหรือฟังก์ชั่นในภาษาการเขียนโปรแกรมเดียวกันซึ่งทำงานดังต่อไปนี้:
นับอักขระช่องว่างในสตริงที่กำหนด ตัวอย่างเช่นการป้อนข้อมูล
123 -_- abc def
จะส่งคืน 7 (หากไม่มีบรรทัดใหม่ต่อท้าย)
แยกสตริงที่กำหนดที่ช่องว่างที่ต่อเนื่องกัน หากสตริงเริ่มต้นหรือลงท้ายด้วย whitespace ไม่ควรมีสตริงว่างที่ส่งคืนที่สิ้นสุด ตัวอย่างเช่นอินพุตเดียวกัน
123 -_- abc def
["123", "-_-", "abc", "def"]
จะกลับมา
ไม่ว่าในกรณีใดคุณสามารถป้อนข้อมูลผ่าน STDIN อาร์กิวเมนต์บรรทัดคำสั่งหรือฟังก์ชันอาร์กิวเมนต์ส่งคืนผลลัพธ์หรือพิมพ์ STDOUT สำหรับโปรแกรมที่สองหากคุณเลือกที่จะพิมพ์ไปยัง STDOUT โปรดพิมพ์แต่ละสตริงในบรรทัดของตัวเองโดยไม่ต้องใส่เครื่องหมายอัญประกาศ
สำหรับทั้งสองโปรแกรมคุณอาจสมมติว่าอินพุตมีเฉพาะ ASCII ที่พิมพ์ได้ (0x20 ถึง 0x7E) และช่องว่าง
ตอนนี้ที่นี่คือการจับ:
- หากช่องว่างทั้งหมดถูกลบออกจากทั้งสองโปรแกรม / ฟังก์ชั่นสตริงผลลัพธ์จะต้องเหมือนกัน นั่นคือสองส่งของคุณอาจเพียง แต่แตกต่างกันในจำนวนและตำแหน่งของตัวอักษรช่องว่าง
- โปรแกรม / ฟังก์ชั่นอาจไม่มีสตริงหรือตัวอักษร regex ใด ๆ (ตัวอักษรตัวอักษรไม่เป็นไรหากภาษาของคุณมีประเภทตัวอักษรที่กำหนด)
- โปรแกรม / ฟังก์ชั่นอาจไม่มีความคิดเห็นใด ๆ
- คุณต้องไม่อ่านซอร์สโค้ดของโปรแกรมไม่ว่าโดยตรงหรือโดยอ้อม
นี่คือรหัสกอล์ฟ คะแนนของคุณคือผลรวมของขนาดของทั้งสองวิธี (เป็นไบต์) คะแนนต่ำสุดชนะ
ลีดเดอร์
Stack Snippet ต่อไปนี้สร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา ดังนั้นแม้ว่าภาษาที่คุณเลือกจะไม่ยอมให้คุณชนะการท้าทายทั้งหมดทำไมไม่ลองคว้าอันดับหนึ่งในรายการที่สองล่ะ? ฉันสนใจมากที่จะเห็นว่าผู้คนจัดการกับความท้าทายนี้ในภาษาต่างๆได้อย่างไร!
เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต 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>