Biz tanımlayan boşluk üç karakterlerden herhangi sekme (0x09), yeni satır (0x0A) veya boşluk (0x20) olmak.
Bu zorluk için, aynı programlama dilinde, aşağıdaki görevleri yerine getiren iki program veya işlev yazmanız gerekir:
Boşluk karakterlerini verilen bir dizgede sayın. Örneğin, giriş
123 -_- abc def
7 döndürür (izleyen bir yeni satır yoksa).
Belirli bir dizgiyi ardışık boşluk boşluklarında böl. Dize beyaz boşlukla başlar veya biterse, uçlarında boş dizeler döndürülmemelidir. Örneğin, aynı giriş
123 -_- abc def
dönecekti
["123", "-_-", "abc", "def"]
.
Her iki durumda da STDIN, komut satırı argümanı veya function argümanı üzerinden girdi alabilir veya sonucu döndürür veya STDOUT yazdırabilirsiniz. İkinci program için, STDOUT'a yazdırmayı seçerseniz, lütfen her bir dizgiyi çevreleyen tırnak işaretleri olmadan kendi satırlarına yazdırın.
Her iki program için, girişin yalnızca yazdırılabilir ASCII (0x20 - 0x7E) ve beyaz boşluk içerdiğini varsayabilirsiniz.
Şimdi burada yakalamak:
- Tüm boşluklar her iki programdan / işlevlerden kaldırılırsa, ortaya çıkan dizelerin aynı olması gerekir. Diğer bir deyişle, iki gönderiminiz yalnızca boşluk karakterlerinin sayısında ve yerleşiminde farklılık gösterebilir.
- Hiçbir program / işlev herhangi bir dize veya regex değişmezi içeremez (dilinizin belirlenmiş bir karakter türüne sahip olması koşuluyla karakter değişmezleri iyidir).
- Hiçbir program / işlev herhangi bir yorum içermeyebilir.
- Programın kaynak kodunu doğrudan veya dolaylı olarak okumamalısınız.
Bu kod golfü. Puanınız, her iki çözümün boyutlarının toplamıdır (bayt cinsinden). En düşük puan kazanır.
Liderler
Aşağıdaki Stack Snippet'i hem düzenli bir lider tablosu hem de kazananların dile göre genel bir bakışını oluşturur. Öyleyse, seçtiğiniz dil tüm mücadeleyi kazanmanıza izin vermese bile, neden ikinci listedeki bir noktayı yakalamaya çalışmıyorsunuz? İnsanların bu zorluğun çeşitli dillerde nasıl üstesinden geldiğini görmek çok isterim!
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın:
# Language Name, N bytes
nerede N
olduğu toplam gönderiminize boyutu. Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Bireysel sayıları toplam sayımdan önce de ekleyebilirsiniz, örn.
# Python 2, 35 + 41 = 76 bytes
Vurulmayan son sayı, snippet tarafından kullanılacaktır.
<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>