অনেক সময় একটি এক্সপ্রেশনে ব্র্যাকেটগুলো ব্যালেন্সড কিনা চেক করতে হয়। ব্যালেন্সড মানে প্রতিটি লেফট ব্র্যাকেটের জন্য একটা রাইট ব্র্যাকেট আছে এবং সিকোয়েন্স ঠিকমতো। প্রোগ্রামিং বা ম্যাথেমেটিক্যাল এক্সপ্রেশনে এটি গুরুত্বপূর্ণ।
এলিমিনেশন মেথড
সবচেয়ে ভেতরের ব্র্যাকেট পেয়ার খুঁজে সেগুলো খালি স্ট্রিং দিয়ে রিপ্লেস করা হয়। সব পেয়ার রিপ্লেস হয়ে গেলে এক্সপ্রেশন ব্যালেন্সড, অন্যথায় নয়।
পাইথন কোড উদাহরণ
def brackets(expression):
all_br = ['()', '{}', '[]']
while any(x in expression for x in all_br):
for br in all_br:
expression = expression.replace(br, '')
return not expression
input_string = "([]{}()"
if brackets(input_string):
print(input_string, "balanced")
else:
print(input_string, "Not balanced")
আউটপুট
([]{}() Not balanced