প্রোগ্রামিং খুব অনমনীয়। আপনি কোনও প্রোগ্রামকে "কলা গণনা আউটপুট" করতে বলতে পারবেন না, আপনাকে এটি বলতে হবে print(bananas)
।
তবে আপনি যখন এটি করেন, আপনি একটি সমস্যার সাথে শেষ করে: আপনার আগে কয়টি কলা রয়েছে তা জানেন না, তাই বহুবচন ব্যবহার করবেন কিনা তা আপনি জানেন না।
কখনও কখনও, প্রোগ্রামাররা অলস পথে যায়। চেক করার পরিবর্তে, তারা কেবল মুদ্রণ করে there are X banana(s)
।
তবে এটি কুৎসিত, সুতরাং এটি ঠিক করার জন্য আমাদের একটি প্রোগ্রামের দরকার।
পদ্ধতি (গুলি)
একটি স্ট্রিংয়ে অস্পষ্ট বহুবচনগুলি সরাতে, নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:
শব্দের তালিকায় স্প্রিংগুলিতে স্ট্রিং বিভক্ত করুন।
শেষ হওয়া প্রতিটি শব্দের জন্য
(s)
, নিম্নলিখিতটি করুন:- পূর্ববর্তী শব্দ হয় তাহলে
a
,an
,1
বাone
, অপসারণ(s)
শব্দের শেষে হয়। - অন্যথায়, যদি শব্দ স্ট্রিং প্রথম শব্দ বা পূর্ববর্তী শব্দ নয়
a
,an
,1
বাone
, প্রতিস্থাপন(s)
শব্দ শেষেs
।
- পূর্ববর্তী শব্দ হয় তাহলে
মূল শ্বেতক্ষেত্র সংরক্ষণ করে আবার স্ট্রিংয়ে শব্দের তালিকায় যোগ দিন।
উদাহরণ (গুলি)
একটি স্ট্রিং নেওয়া যাক there's a banana(s) and three apple(s)
।
প্রথমত, আমরা স্ট্রিংটিকে শব্দের তালিকায় বিভক্ত করি: ["there's", "a", "banana(s)", "and", "three", "apple(s)"]
দ্বিতীয় পদক্ষেপের জন্য, আমরা দুটি শব্দটি শেষ করে নিই (s)
: banana(s)
এবং apple(s)
।
আগে কোনো শব্দ banana(s)
হয় a
, তাই আমরা অপসারণ (s)
, এটি তৈরি banana
। আগে কোনো শব্দ apple(s)
হয় three
, তাই আমরা পরিবর্তন (s)
করতে s
এভাবেই হয়ে apples
।
আমাদের এখন আছে ["there's", "a", "banana", "and", "three", "apples"]
। আবার একসাথে তালিকায় যোগ দেওয়া, আমরা পেয়েছি there's a banana and three apples
। এটি আমাদের শেষ ফলাফল।
চ্যালেঞ্জ)
এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করুন যা যে কোনও যুক্তিসঙ্গত ফর্ম্যাটে দ্ব্যর্থহীন স্ট্রিং নেয় এবং সেই স্ট্রিংয়ের অ-সংশয়িত সংস্করণ দেয়।
আপনি ধরে নিতে পারেন স্ট্রিংয়ে কোনও নতুনলাইন, ট্যাব বা ক্যারিজ রিটার্ন নেই।
আমি স্পেস বা ফাঁকা স্থান (যেমন কিনা দলের উপর বিভক্ত করা হবে কিনা তা নির্দিষ্ট করতে ভুলে গেছেন okay then
দুই ব্যবধান সহ হওয়া উচিত ["okay", "then"]
বা ["okay", "", "then"]
) যখন চ্যালেঞ্জ পোস্ট, তাই আপনি বিভাজন উভয় ফর্ম অনুমান হতে পারে।
পরীক্ষার কেস
Input -> Output
there are two banana(s) and one leprechaun(s) -> there are two bananas and one leprechaun
there's a banana(s) and three apple(s) -> there's a banana and three apples
apple(s) -> apples
one apple(s) -> one apple
1 banana(s) -> 1 banana
banana -> banana
preserve original whitespace(s) -> preserve original whitespaces
11 banana(s) -> 11 bananas
an apple(s) -> an apple
this is a te(s)t -> this is a te(s)t
I am a (s)tranger(s) -> I am a (s)tranger
স্কোরিং
এটি কোড-গল্ফ হিসাবে , ন্যূনতম বাইটস সহ জমাটি জয়!
apple(s)
পরীক্ষা ক্ষেত্রে উত্পাদ apples
পরিবর্তে? চ্যালেঞ্জটি Otherwise, if the word is the first word in the string . . . replace the (s) at the end of the word with s.
আমি উল্লেখ করেছি যে এই মামলাটি apples
প্রথম তিনটি সংশোধনীর জন্য স্যান্ডবক্সে পেয়েছিল তবে চতুর্থ স্থানে পরিবর্তিত হয়েছিল।
There's a single banana(s)
-> There's a single bananas
।