আমরা তিনটি অক্ষরের ট্যাব (0x09), নিউলাইন (0x0A) বা স্পেস (0x20) এর মধ্যে হোয়াইটস্পেসকে সংজ্ঞা দিয়েছি ।
এই চ্যালেঞ্জের জন্য, আপনি একই প্রোগ্রামিং ভাষায় দুটি প্রোগ্রাম বা ফাংশন লিখবেন, যা নিম্নলিখিত কাজগুলি সম্পাদন করে:
প্রদত্ত স্ট্রিংয়ে শ্বেতস্পেসের অক্ষরগুলি গণনা করুন। উদাহরণস্বরূপ, ইনপুট
123 -_- abc def
7 ফেরত আসবে (প্রদত্ত কোনও নতুন লাইন নেই তবে)
একটি প্রদত্ত স্ট্রিংকে একাদে তিনবার হোয়াইটস্পেসে বিভক্ত করুন। যদি স্ট্রিংটি সাদা রঙের স্পেস দিয়ে শুরু হয় বা শেষ হয়, শেষে খালি স্ট্রিংগুলি ফেরত দেওয়া উচিত নয়। উদাহরণস্বরূপ, একই ইনপুট
123 -_- abc def
ফিরে আসবে
["123", "-_-", "abc", "def"]
।
উভয় ক্ষেত্রেই আপনি STDIN এর মাধ্যমে ইনপুট নিতে পারেন, কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্ট কোনও ফলাফল প্রত্যাবর্তন করতে পারে বা এটি মুদ্রণ করতে পারে। দ্বিতীয় প্রোগ্রামের জন্য, আপনি STDOUT এ মুদ্রণ চয়ন করতে চাইলে, দয়া করে চারপাশে উদ্ধৃতি না দিয়ে প্রতিটি স্ট্রিং তার নিজস্ব লাইনে মুদ্রণ করুন।
উভয় প্রোগ্রামের জন্য আপনি ধরে নিতে পারেন যে ইনপুটটিতে কেবল প্রিন্টযোগ্য ASCII (0x20 থেকে 0x7E) এবং সাদা স্থান রয়েছে।
এখন ধরা পড়ল:
- যদি উভয় প্রোগ্রাম / ফাংশন থেকে সমস্ত শ্বেত স্থান অপসারণ করা হয়, ফলে প্রাপ্ত স্ট্রিংগুলি অভিন্ন হতে হবে। এটি হ'ল আপনার দুটি জমাগুলি কেবল সাদা বর্ণের অক্ষরের সংখ্যা এবং স্থান নির্ধারণের ক্ষেত্রে পৃথক হতে পারে ।
- প্রোগ্রাম / ফাংশনটিতে কোনও স্ট্রিং বা রেজেক্স লিটারাল থাকতে পারে না (অক্ষর অক্ষরগুলি ভাল থাকে, তবে আপনার ভাষায় একটি নির্দিষ্ট চরিত্রের ধরন থাকে)।
- উভয়ই প্রোগ্রাম / ফাংশনে কোনও মন্তব্য থাকতে পারে।
- আপনাকে অবশ্যই প্রোগ্রামের উত্স কোডটি প্রত্যক্ষ বা পরোক্ষভাবে পড়তে হবে না।
এটি কোড গল্ফ। আপনার স্কোর হ'ল উভয় সমাধানের আকার (বাইটে) এর যোগফল। সর্বনিম্ন স্কোর জয়।
লিডারবোর্ড
নিম্নলিখিত স্ট্যাক স্নিপেট একটি নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই উত্পন্ন করে। সুতরাং আপনার পছন্দের ভাষা আপনাকে পুরো চ্যালেঞ্জ জিততে না দিলে, কেন দ্বিতীয় তালিকার কোনও স্থান ছিনিয়ে নেওয়ার চেষ্টা করবেন না? লোকেরা কীভাবে বিভিন্ন ভাষায় এই চ্যালেঞ্জ মোকাবেলা করে তা দেখতে আমি খুব আগ্রহী হব!
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
# 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>