বিজ্ঞপ্তি: জনপ্রিয় চাহিদা অনুসরণ করে আমি কিছুটা নিয়ম শিথিল করেছি:
- সর্বাধিক রেজেক্স আকার প্রতি 5 টি উত্তর 1 বাইট দ্বারা বৃদ্ধি পায় । উত্তর এন 29 + ⌈N / 5⌉ বাইট ব্যবহার করতে পারে
- প্রতিটি উত্তরের স্কোর (এম / (30 + এন / 5)) এন হবে
রেজেক্স গল্ফে, আপনাকে দুটি সেট স্ট্রিং দেওয়া হয়েছে, এবং আপনাকে সংক্ষিপ্ততম রেজেক্স তৈরি করতে বলা হবে যা প্রথম সেটের সাথে সমস্ত স্ট্রিংয়ের সাথে মেলে তবে দ্বিতীয় সেটে সমস্ত স্ট্রিংয়ে ব্যর্থ হয়।
এটি আমরা যা করতে যাচ্ছি, তবে প্রতিবার কেউ উত্তর দিলে, তাদের রেজেক্স নিজেই দুটি স্ট্রিংয়ের (তার নিজের পছন্দ অনুযায়ী) একটির সাথে যুক্ত হবে। সুতরাং, এই চ্যালেঞ্জের জবাব দেওয়ার জন্য কঠোর আদেশ রয়েছে।
আসুন একটি উদাহরণ দেওয়া যাক:
- বলুন আমি এটি দিয়ে শুরু
abc
করব (যা আমি করব না) এবং এটি ম্যাচের সেটটিতে রেখেছি । - তারপরে একটি বৈধ দ্বিতীয় উত্তর হবে
a
, কারণ এটি উপরের সাথে মেলে (এবং এমন কোনও স্ট্রিং নেই যা এখনও ব্যর্থ হওয়ার দরকার নেই)। বলুন এই উত্তরটি ব্যর্থ সেটে যায় । - এখন তৃতীয় উত্তরটি মিলতে হবে
abc
তবে ব্যর্থa
। একটি সম্ভাব্য তৃতীয় উত্তর তাইb
। ম্যাচ সেট এ এটি করা যাক । - চতুর্থ উত্তর এখন মেলে
abc
এবং আছেb
, কিন্তু ব্যর্থa
। আমরা সদৃশ জবাবগুলি অস্বীকার করব, সুতরাং একটি বৈধ রেইগেক্স হবেc|b
।
সবচেয়ে গুরুত্বপূর্ণটি হল আপনার উত্তরটি যতটা সম্ভব সংক্ষিপ্ত হওয়া উচিত। এটি প্রথম কয়েকটি উত্তরের জন্য তুচ্ছ হতে পারে, তবে একবার আমরা কয়েকটি উত্তর পেয়ে গেলে, যতটা সম্ভব চরিত্রের মধ্যে কাঙ্ক্ষিত ম্যাচটি পাওয়া আরও শক্ত এবং শক্ত হওয়া উচিত।
আসল চ্যালেঞ্জের জন্য, প্রাথমিকভাবে ম্যাচ সেটে থাকে PPCG
এবং ব্যর্থ সেটটি থাকে [PPCG]
এবং আমি ইতিমধ্যে প্রথম উত্তর সরবরাহ করেছি।
উত্তর
এই চ্যালেঞ্জটি সম্পর্কে বুঝতে মূল বিষয়টি হ'ল একবারে কেবলমাত্র একজন ব্যক্তি উত্তর দিতে পারে এবং প্রতিটি উত্তর তার আগে থাকা একজনের উপর নির্ভর করে ।
একই সাথে দুটি উত্তর থাকতে হবে না N
। যদি দু'জন ব্যক্তি একসাথে কারও জন্য উত্তর দেয় N
, তবে যিনি পরে উত্তর দিয়েছেন (যদিও এটি কয়েক সেকেন্ডের পার্থক্য রয়েছে) দয়া করে তাদের উত্তরটি মুছে ফেলা উচিত।
এই রানটি কিছুটা মসৃণ করতে আপনার উত্তর পোস্ট করার সময় নিম্নলিখিত পদক্ষেপগুলিতে আটকে থাকার চেষ্টা করুন:
- নিশ্চিত হয়ে নিন যে কেউ পূর্বের উত্তরের সঠিকভাবে যাচাই করেছে (এবং একটি সম্পর্কিত মন্তব্য রেখে গেছে)।
- পূর্বের উত্তরে পাওয়া দুটি পরীক্ষামূলক সেট নিন এবং একটি রেজেেক্স লিখুন যা সমস্ত সেটের সাথে এক সেট এবং অন্যটিতে কোনওটিই মিলে না।
আপনার উত্তরটি নিম্নলিখিত বিন্যাসে পোস্ট করুন:
# N. [regex flavour] - [regex size in bytes] [regex] [link to online regex tester] [notes, explanation, observations, whatever] ### The next answer has to match the following strings: [match set] ### And fail on these strings: [fail set]
N
আপনার উত্তর সংখ্যা কোথায় ? দয়া করে পূর্ববর্তী উত্তরটি অনুলিপি করুন[match set]
এবং[fail set]
সেগুলির মধ্যে একটিতে আপনার রেজেক্স যুক্ত করুন।এটি চ্যালেঞ্জের জন্য একেবারে গুরুত্বপূর্ণ! আমি বুককিপিংয়ে সহায়তা করার জন্য চ্যালেঞ্জের জন্য একটি ড্যাশবোর্ড সরঞ্জাম সরবরাহ করেছি এবং এটি উপরের টেম্পলেটটিতে নির্ভর করে। (পোস্টের নীচে দেখুন।)
- অন্য উত্তর ব্যবহারকারীর এখন আপনার জমাটি পর্যালোচনা করা উচিত এবং যদি আপনার উত্তর সমস্ত নিয়ম অনুসরণ করে (নীচে দেখুন) একটি মন্তব্য "সঠিকতা যাচাই" করা উচিত। যদি তা না হয় তবে তাদের কোনও ত্রুটি চিহ্নিত করে একটি মন্তব্য করা উচিত। এরপরে আপনি এই সমস্যাগুলি ঠিক করতে 15 মিনিট পেয়ে গেছেন । আপনি যদি তা না করেন তবে আপনার উত্তরটি অবৈধ বলে মনে করা হবে, মুছে ফেলা উচিত এবং অন্য কেউ আগেরটির উত্তর অনুসরণ করতে পারে। (যদি এটি হয় তবে আপনি যে কোনও সময় একটি নতুন উত্তর জমা দিতে নির্দ্বিধায় রয়েছেন))
এই বিধিগুলি কঠোর মনে হতে পারে তবে চেইন অবধি কোথাও অবৈধ উত্তরগুলি এড়াতে এগুলি প্রয়োজনীয়।
বিধি
- একজন ব্যবহারকারী কেবল 4 ঘন্টা সময়কালে একটি উত্তর জমা দিতে পারে। (এটি ব্যবহারকারীদের ক্রমাগত প্রশ্নটি দেখার এবং যথাসম্ভব উত্তর দেওয়া থেকে বিরত রাখা))
- একজন ব্যবহারকারী পরপর দুটি উত্তর জমা দিতে পারে না। (উদাহরণস্বরূপ যেহেতু আমি উত্তর জমা দিয়েছি 1 আমি উত্তর 2 করতে পারি না, তবে আমি 3 টিও করতে পারি))
- যাচাই করা উত্তরগুলি সম্পাদনা করবেন না। (এমনকি যদি আপনি এটি ছোট করার কোনও উপায় খুঁজে পান!)
- শৃঙ্খলে আগে কোনও ভুল আবিষ্কার করা উচিত (যেমন ফলো-আপ উত্তর পোস্ট করার পরে), আপত্তিকর উত্তরটি মুছে ফেলা উচিত এবং নতুন স্ট্রিমিংয়ে ব্যর্থ হওয়া উচিত এমন স্ট্রিংয়ের সেট থেকে সরানো হবে। তবে যে সমস্ত উত্তর পোস্ট করা হয়েছে সেগুলি প্রতিফলিত করার জন্য পরিবর্তন করা উচিত নয় ।
- স্পষ্টভাবে একটি স্বাদ আপনার রাজকোষ বৈধ হয় তা বিবরণ। আপনি নিখরচায় পরীক্ষামূলক যে কোনও স্বাদ চয়ন করতে পারেন। স্ট্যাকওভারফ্লোতে অনলাইন পরীক্ষকদের একটি ভাল তালিকা রয়েছে । বিশেষত, Regex101 এবং RegexPlanet ব্যবহার করা উচিত, কারণ তারা বিভিন্ন স্বাদের সমর্থন করে। আপনি আপনার উত্তরে পরীক্ষকটির একটি লিঙ্ক অন্তর্ভুক্ত করুন।
g
পরীক্ষকটিতে লোবাল এবংm
আল্টলাইন সংশোধকগুলিকে স্যুইচ করে আপনি একবারে সমস্ত স্ট্রিং পরীক্ষা করতে পারেন, প্রতিটি লাইনের একটি করে (এই সংশোধকগুলি আপনার রেজেক্স আকারের দিকে গণনা করা হয় না, কারণ এটি কোনও পৃথক স্ট্রিংয়ের প্রয়োজন হয় না)। - আপনার রেজেক্স অবশ্যই খালি হবে না।
- উত্তর এন এর জন্য আপনার রেজেক্সটি 29 + /N / 5⌉ বাইটের বেশি হওয়া উচিত নয় । অর্থাৎ 1 থেকে 5 টি উত্তর 30 টি বাইট (সমেত) ব্যবহার করতে পারে, 6 থেকে 10 টি উত্তর 31 বাইট ব্যবহার করতে পারে ... উত্তর 31 থেকে 35 পর্যন্ত 36 বাইট ব্যবহার করতে পারে। পরবর্তী উত্তরটি কয়টি অক্ষর ব্যবহার করতে পারে তা দেখতে ড্যাশবোর্ডটি দেখুন।
- আপনার রেজেক্স অবশ্যই উভয়ই পরীক্ষা সেটের কোনও স্ট্রিংয়ের মতো নয়।
- প্রাসঙ্গিক হোস্ট ভাষা সেগুলি ব্যবহার করে এমনকি আপনার জমা দেওয়া বা বাইট গণনায় ডিলিমিটারগুলি অন্তর্ভুক্ত করবেন না। যদি আপনার রেজেক্স মডিফায়ার ব্যবহার করে তবে রেজিেক্স আকারে মডিফায়ার প্রতি এক বাইট যুক্ত করুন। যেমন
/foo/i
4 বাইট হবে।
স্কোরিং
প্রতিটি উত্তরের স্কোর গণনা করা হয় (এম / (30 + এন / 5)) এন , যেখানে এম বাইটগুলিতে রেজেক্সের আকার এবং N এটির সংখ্যা। প্রতিটি ব্যবহারকারীর স্কোর তাদের সমস্ত উত্তরের পণ্য। সর্বনিম্ন সামগ্রিক স্কোর সহ ব্যবহারকারী জিতেন। টাই হওয়ার সম্ভাবনা নেই, সর্বশেষ জমা সহ ব্যবহারকারী জিতেছে। আমি ব্যবহারকারীর সর্বশেষ উত্তর গ্রহণ করব।
আপনি যদি সংক্ষিপ্ত স্কোরগুলি পছন্দ করেন তবে আপনি প্রতিটি উত্তরের স্কোরকে N * (লগ (এম) - লগ (30)) হিসাবে গণনা করতে পারেন এবং সমস্ত উত্তরের উপরে যোগ করতে পারেন। এটি একই লিডারবোর্ড অর্ডার দেবে।
উত্তরের কোনও উত্তরের স্কোর অন্তর্ভুক্ত করার দরকার নেই, কেবল এম রিপোর্ট করুন । প্রশ্নের নীচে চ্যালেঞ্জ ড্যাশবোর্ড স্কোরগুলি গণনা করবে এবং দুটি খুব কাছের স্কোরের ঘটনায় আমি স্বেচ্ছাচারিতা-নির্ভুলতার ধরণগুলি ব্যবহার করে ফলাফলগুলি দুবার পরীক্ষা করব।
মনে রাখবেন যে প্রতিটি উত্তরের স্কোর 1 এর চেয়ে কম, সুতরাং আপনি একটি নতুন উত্তর সরবরাহ করে আপনার সামগ্রিক স্কোরটি উন্নত করতে পারেন। তবে আপনার প্রতিটি জমা যত খাটো, তত দক্ষতার সাথে আপনি আপনার স্কোর কমিয়ে আনতে পারবেন। তদ্ব্যতীত, উত্তরগুলি ক্রমবর্ধমান অতিরিক্ত হিসাবে, দীর্ঘ হলেও দীর্ঘতর স্কোর অর্জন করতে পারে।
ড্যাশবোর্ড
অপ্টিমাইজারের কাজের উপর ভিত্তি করে স্ট্যাক স্নিপেট ব্যবহার করে আমি একটি সামান্য ড্যাশবোর্ড সরঞ্জাম লিখেছি । আমি আশা করি এটি আমাদের উত্তর-নির্ভর চ্যালেঞ্জগুলিতে কিছুটা অর্ডার পেতে সহায়তা করবে।
এটি চ্যালেঞ্জের বর্তমান অবস্থা প্রদর্শন করবে - বিশেষত, যদি বিতর্কিত উত্তর থাকে, যদি কোনও উত্তর যাচাই করা দরকার হয় বা পরবর্তী উত্তর পোস্ট করা যায়।
এটি স্কোর সহ সমস্ত উত্তরের একটি তালিকা তৈরি করে, পাশাপাশি সমস্ত ব্যবহারকারীর একটি লিডারবোর্ড। দয়া করে উপরের চ্যালেঞ্জের ফর্ম্যাটটিতে আটকে থাকুন, যাতে ড্যাশবোর্ড আপনার উত্তরগুলি থেকে প্রাসঙ্গিক স্ট্রিংগুলি পড়তে পারে। অন্যথায় আপনি লিডারবোর্ডে অন্তর্ভুক্ত নাও হতে পারেন।
আপনি যদি কোনও বাগ সনাক্ত করেন বা কীভাবে সরঞ্জামটির কার্যকারিতা আরও উন্নত করা যায় সে সম্পর্কে দয়া করে আমাকে জানান ( আদর্শভাবে চ্যাটে ) let