স্টুটরিং এমন একটি সমস্যা যা আমাদের অনেকেরই অভিজ্ঞতা থাকতে পারে বা কমপক্ষে দেখেছিল। যদিও বেশিরভাগ বিখ্যাত স্পিচ রিকগনিশন সফ্টওয়্যারগুলির স্টুটারড স্পিকিংয়ের সাথে গুরুতর সমস্যা রয়েছে, আসুন এমন একটি সফ্টওয়্যার কল্পনা করুন যা তোলাবাজি বোঝে, তবে সেগুলি ঠিক করতে পারে না এবং কেবল সেগুলিই লিখে দেয়।
এই জাতীয় সফ্টওয়্যার দ্বারা লিখিত পাঠ্য উদাহরণটি এরকম হতে পারে: "দয়া করে সিএএ সিএ সাবধান হন" । এই উদাহরণে "সাবধান" হ'ল মূল শব্দ এবং "সিএ সিএ" হুড়োহুড় শব্দ।
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা মূল শব্দগুলি রাখার সময় ইনপুট থেকে মুছে ফেলা শব্দগুলিকে স্থির করে। উদাহরণ সংশোধন সংস্করণের জন্য "দয়া করে হতে CA CA সাবধান" হবে "দয়া করে সতর্কতা অবলম্বন করা আবশ্যক" ।
এটি কোড-গল্ফ , প্রতিটি ভাষায় স্বল্পতম উত্তর!
তোতলা শব্দ কি?
স্টুটরিং এর বিভিন্ন রকম বৈচিত্র রয়েছে। তবে এই চ্যালেঞ্জটির সরলতার জন্য, আমরা এটিকে নিম্নলিখিত নিয়মগুলিতে সীমাবদ্ধ করতে যাচ্ছি:
- বিড়ম্বিত শব্দগুলি মূল শব্দের একটি অসম্পূর্ণ অংশ বা পুরো হতে পারে। "অসম্পূর্ণ অংশ" দ্বারা আমার অর্থ আসল শব্দটি তোলা কথার সাথে ঠিক শুরু হওয়া উচিত। উদাহরণস্বরূপ "Ope" এবং "খুলুন" উভয়ের জন্য একটি stuttered শব্দ হতে পারে "খুলুন" , কিন্তু "কলম" যেহেতু এক হতে পারে না "খুলুন" শুরু হয় না "কলম" ।
- উত্তড় শব্দগুলিতে অবশ্যই "আইইউউ" স্বরবর্ণগুলির মধ্যে একটি অন্তর্ভুক্ত থাকে। উদাহরণস্বরূপ "স্টার" একটি " বিড়াল " শব্দটি হতে পারে কারণ এটিতে "এ" রয়েছে তবে "স্ট" একটি বিড়বিড় শব্দ হতে পারে না কারণ এতে উল্লিখিত কোনও স্বর থাকে না।
- বিভক্ত শব্দগুলি কেবলমাত্র মূল শব্দের আগে উপস্থিত হতে পারে এবং বৈধ হওয়ার জন্য কমপক্ষে দু'বার পুনরাবৃত্তি করা উচিত (মূল শব্দটি পুনরাবৃত্তিতে গণনা করা হয় না)। উদাহরণস্বরূপ "ওও খুলুন" শব্দ stuttered কিন্তু করেনি "O খোলা o" এর না, কারণ নেই "o" এর মূল শব্দ পরে গণনা করা হয় না এবং "o" এর মূল শব্দ সামনে পুনরাবৃত্তি করা হয় অন্তত দুই বার। "গো গো গো গো গো গো" এর মূল শব্দের আগে পাঁচটা বার বার কথা রয়েছে এবং তা বৈধ।
- পুনরাবৃত্তি বিহ্বল শব্দের একক সেটটিতে মিশ্র ফর্ম থাকতে পারে না এবং শব্দগুলি একে অপরের মতো ঠিক হওয়া উচিত। উদাহরণস্বরূপ "ওপ ওপ ওপেন" বিড়বিড় শব্দ হিসাবে গণনা করে না। অন্যদিকে "ওপ ওপেন ওপেন" শব্দের হুটোহু শব্দ রয়েছে কারণ এখানে প্রথম "ও" সম্পূর্ণ ভিন্ন শব্দ হিসাবে দেখা হয় এবং দুটি "অপ" টি "খোলা" এর তোতলা শব্দ হিসাবে গণ্য হয় ।
- একে অপরের ঠিক পরে পুনরাবৃত্তি বিঘ্নিত শব্দের একাধিক বৈধ সেটগুলির ক্ষেত্রে, কেবলমাত্র শেষ আসল শব্দটি থাকে। উদাহরণস্বরূপ, "ooo op op op" এ "oo O" অংশটিকে প্রথম "op" এর বিড়বিড় শব্দ হিসাবে দেখা যায় , তাই সেগুলি সরিয়ে ফেলা উচিত এবং তারপরে "op op" টি "খোলা" এর বিড়বিড় শব্দ হিসাবে দেখা যায় " এবং সেগুলিও মুছে ফেলা উচিত, তাই তোতুল্য শব্দগুলি অপসারণের পরে কেবল " খোলা " থাকবে। আপনি ধরে নিতে পারেন যে একাধিক বৈধ সেটাকে পুনরাবৃত্তি তোলা শব্দের কেবল বাম থেকে ডানদিকে ঘটে যায়, সুতরাং "অপ্ট ওপেন ওপেন" ফিক্সিংয়ের ফলে "ওপ ওপেন ওপেন" (ওরফে
ইনপুট
- ইনপুট একটি একক লাইনের স্ট্রিং যা কেবলমাত্র ASCII ইংরাজী অক্ষর (এজে), অঙ্কগুলি (0-9) এবং স্পেস অক্ষর ধারণ করে। লেটার কেসিং গুরুত্বপূর্ণ নয় এবং আপনি ছোট হাতের বা বড় হাতের বা উভয়টিকেই গ্রহণ করার সিদ্ধান্ত নিতে পারেন তবে কেসিংটি একই থাকে এবং আপনি আউটপুটে এটি পরিবর্তন করতে পারবেন না।
- আপনি
["l","i","s","t"," ","o","f"," ","l","e","t","t","e","r","s"]স্ট্রিংয়ের পরিবর্তে অক্ষরের তালিকা (যেমন ) ব্যবহার করতে পারেন তবে আপনি শব্দের একটি তালিকা ব্যবহার করতে পারবেন না। আপনার ভাষার যদি আলাদা ইনপুট কাঠামো থাকে তবে এটি ব্যবহার করুন। মুল বক্তব্যটি হ'ল ইনপুট শব্দের দ্বারা পৃথক করা উচিত নয়, তাই কিছু ভাষায় শব্দ আলাদা করার ব্যয় আসলে অন্যান্য সৃজনশীল সমাধানগুলিকে ট্রিগার করতে পারে। - ইনপুটটিতে এতে কোনও একটি বা একাধিক তোতলা শব্দ থাকতে পারে।
- শব্দ এবং বা সংখ্যা একটি একক স্থান দ্বারা পৃথক করা হয় এবং ইনপুট একে অপরের ঠিক ডাবল স্পেস থাকবে না।
আউটপুট
- একটি স্ট্রিং বা অক্ষরের একটি তালিকা বা ইনপুট থেকে সমস্ত তোলা কথার সাথে আপনার ভাষার উপযুক্ত কাঠামো।
- আউটপুট শব্দগুলি ঠিক এক স্থান দ্বারা পৃথক করা উচিত (ইনপুট হিসাবে একই)।
- একা শীর্ষস্থানীয় এবং অনুসরণকারী নিউলাইন বা স্থান অনুমোদিত।
স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
পরীক্ষার মামলা
কোনও বিড়বিড় শব্দ নেই:
"hello world" => "hello world"
বার বার তোলা কথার একক উদাহরণ:
"ope ope ope ope open the window" => "open the window"
বার বার তোলা কথার একাধিক উদাহরণ:
"there is is is is something un un under the the the table" => "there is something under the table"
কোনও বিড়বিড় শব্দ নেই, যথেষ্ট পুনরাবৃত্তি করা হয়নি:
"give me the the book" => "give me the the book"
কোনও বিচলিত শব্দ নেই, উল্লিখিত স্বরগুলির কোনওটি নেই:
"h h help m m m me" => "h h help m m m me"
সংখ্যাগুলি তোতলা শব্দ নয়, তাদের উল্লিখিত স্বরগুলির কোনওটি নেই:
"my nu nu number is 9 9 9 9876" => "my number is 9 9 9 9876"
তবে স্বর এবং সংখ্যা উভয় সহ একটি শব্দে অশান্তিযুক্ত শব্দ থাকতে পারে:
"my wi wi windows10 is slow" => "my windows10 is slow"
একই পুনরাবৃত্তি গোষ্ঠীতে বিভ্রান্ত শব্দের বিভিন্ন রূপ গণনা করা হয় না:
"this is an ant antarctica does not have" => "this is an ant antarctica does not have"
একে অপরের ঠিক পরে একাধিক অবিচ্ছিন্ন শব্দের সেটগুলির জন্য, কেবলমাত্র শেষ আসল শব্দটি রাখুন:
"what a be be be beauti beauti beautiful flower" => "what a beautiful flower"
এটি একে অপরের ঠিক পরে stuttered শব্দের একাধিক ধারাবাহিক সেটগুলির ক্ষেত্রে নয়:
"drink wat wat wa wa water" => "drink wat wat water"
খালি ইনপুট:
"" => ""
মন্তব্যগুলি থেকে আরও মামলা:
"a ab abc" => "a ab abc"
"a ab ab abc" => "a abc"
"ab ab abc abcd" => "abc abcd"
"a a ab a able" => "ab a able"
"i have ave ave average" => "i have average"
"my wi wi windows 10 is cra cra crap" => "my windows 10 is crap"
উপরোক্ত পরীক্ষার মামলার তালিকা অনুলিপি করা সহজ:
"hello world",
"ope ope ope ope open the window",
"there is is is is something un un under the the the table",
"give me the the book",
"h h help m m m me",
"my nu nu number is 9 9 9 9876",
"my wi wi windows10 is slow",
"this is an ant antarctica does not have",
"what a be be be beauti beauti beautiful flower",
"drink wat wat wa wa water",
"",
"a ab abc",
"a ab ab abc",
"ab ab abc abcd",
"a a ab a able",
"i have ave ave average",
"my wi wi windows 10 is cra cra crap"
"drink wat wat wa wa water" => "drink wat wat water"সত্যিই মনে হচ্ছে নিয়মটি পুনরাবৃত্তভাবে প্রয়োগ করা উচিত যাতে এটি "পানীয় জল" হয়ে যায়