দুটি ব্র্যাকেট সিকোয়েন্স s ও t (শুধু '(' এবং ')') দেওয়া আছে। s+t বা t+s ব্যালেন্সড কিনা যাচাই করতে হবে।
উদাহরণ
ইনপুট: s = "()()))", t = "()(()("
আউটপুট: True
ব্যাখ্যা: t+s = "()(()(()()))" ব্যালেন্সড।
অ্যালগরিদম
is_balanced_parenthesis(string): স্ট্যাক ব্যবহার করে ব্যালেন্স চেক করুন।- মূল ফাংশনে
s+tএবংt+sদুটোই চেক করুন।
উদাহরণ কোড
def is_balanced_parenthesis(string):
stack = []
for ch in string:
if ch == '(':
stack.append(ch)
else:
if not stack:
return False
stack.pop()
return not stack
def solve(s, t):
if is_balanced_parenthesis(s + t):
return True
return is_balanced_parenthesis(t + s)
s = "()()))"
t = "()(()("
print(solve(s, t)) # Output: True
ইনপুট
"()()))", "()(()("
আউটপুট
True