আমরা একটি প্যারেনস গ্রুপকে ওপেন পেরেন (, এটির সাথে মিলে যাওয়া বন্ধন )এবং তাদের ভিতরে থাকা সমস্ত কিছুই বলে থাকি ।
একটি বাম বন্ধনী গ্রুপ বা স্ট্রিং বলা হয় parenthesly সুষম যদি এটা হয় কিছুই অথবা শুধুমাত্র 2 parenthesly সুষম ডান বন্ধনী গোষ্ঠীগুলি রয়েছে।
উদাহরণ স্বরূপ:
The string "(()())()" is parenthesly balanced
( )() Because it contains exactly 2 parenthesly balanced parens groups
()() The left one is parenthesly balanced because it contains 2 parenthesly balanced parens groups (balanced because they are empty). The right one is parenthesly balanced because it contains nothing.
অনুরূপভাবে:
The string "(()(()))()" is not parenthesly balanced
( )() Because it contains a parens group that is not parenthesly balanced: the left one
()( ) The left one is not balanced because it contains a parens group that is not balanced: the right one
() The right one is not balanced because it only contains one balanced group.
সুতরাং, প্রথমত ভারসাম্যযুক্ত ভারসাম্যযুক্ত স্ট্রিং বা প্যারেন্স গ্রুপের উচিত:
- কিছুই নেই।
- বা কেবল এবং ঠিক 2 প্যারেন্থসલી ভারসাম্যযুক্ত প্যারেনস গ্রুপ ধারণ করে। এটিতে অন্য কিছু থাকতে হবে না।
টাস্ক:
আপনার টাস্কটি এমন একটি ফাংশন বা প্রোগ্রাম লিখতে হয় যা প্রদত্ত স্ট্রিংটি প্রথমত ভারসাম্যপূর্ণ কিনা তা পরীক্ষা করে।
ইনপুট:
ইনপুট হ'ল একটি স্ট্রিং বা অক্ষরের তালিকা বা অনুরূপ কিছু। আপনি ধরে নিতে পারেন যে স্ট্রিংটিতে কেবলমাত্র অক্ষর থাকবে '('এবং ')'। এছাড়াও আপনি অনুমান করতে পারেন প্রতিটি খোলা paren (তার ম্যাচিং বন্ধ paren থাকবে ), তাই মত স্ট্রিং সম্পর্কে চিন্তা করবেন না "((("বা ")("বা "(())("...
নোট: যেহেতু তার মন্তব্য নিচে মধ্যে @DigitalTrauma উল্লেখ, এটা subtitute করতে ঠিক আছে ()অন্য অক্ষর দ্বারা কম্বো (যেমন <>, [], ...), যদি কিছু ভাষায় পলায়নের মত অতিরিক্ত কাজ ঘটাচ্ছে এর
আউটপুট:
স্ট্রিংটি প্রথমত ভারসাম্যযুক্ত কিনা তা সংকেত দেওয়ার জন্য যা কিছু আছে (সত্য বা মিথ্যা, 1 বা 0, ...)। আপনার ফাংশন / প্রোগ্রামটি যা প্রত্যাশা করে তা আপনার উত্তরে অন্তর্ভুক্ত করুন।
উদাহরণ:
"" => True
"()()" => True
"()(()())" => True
"(()(()(()())))(()())" => True
"(((((((()())())())())())())())()" => True
"()" => False
"()()()" => False
"(())()" => False
"()(()(())())" => False
"(()())(((((()())()))())())" => False
"()(()()()())" => False
"()(()(()())()())" => False
শেষ দুটি উদাহরণ সত্যিই একটি পার্থক্য তৈরি!
ভাগ্য সুপ্রসন্ন হোক!
"(()())()"হিসাবে প্রতিনিধিত্ব করা হবে [0, 0, 1, 0, 1, 1, 0, 1]। এটি ইনপুটটিকে অক্ষর কোডে রূপান্তর করতে এবং তারপরে বিয়োগের প্রয়োজনীয়তা সরিয়ে ফেলবে।
