From 7e3dd663278355c7358c3b1dc554774a6133678b Mon Sep 17 00:00:00 2001 From: Pallavi Date: Sat, 3 Oct 2020 16:14:50 +0530 Subject: [PATCH 1/2] balanced brackets using stacks python code. --- Basic-Scripts/balanced_brackets.py | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Basic-Scripts/balanced_brackets.py diff --git a/Basic-Scripts/balanced_brackets.py b/Basic-Scripts/balanced_brackets.py new file mode 100644 index 00000000..2379f8da --- /dev/null +++ b/Basic-Scripts/balanced_brackets.py @@ -0,0 +1,43 @@ +import os + +''' +SAMPLE INPUT = +3 +{[()]} +{[(])} +{{[[(())]]}} + +SAMPLE OUTPUT= +YES +NO +YES + + +''' +def isBalanced(s): + table = {')': '(', ']': '[', '}': '{'} + stack = [] + for x in s: + if stack and table.get(x) == stack[-1]: + stack.pop() + else: + stack.append(x) + if stack: + return "NO" + else: + return "YES" + + +if __name__ == '__main__': + fptr = open(os.environ['OUTPUT_PATH'], 'w') + + t = int(input()) + + for t_itr in range(t): + s = input() + + result = isBalanced(s) + + fptr.write(result + '\n') + + fptr.close() From 677988510ff1e699c1e4a12bfd5b31df70f03f4b Mon Sep 17 00:00:00 2001 From: Pallavi Date: Sat, 3 Oct 2020 16:21:03 +0530 Subject: [PATCH 2/2] balanced brackets using stacks python code. --- Basic-Scripts/balanced_brackets.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Basic-Scripts/balanced_brackets.py b/Basic-Scripts/balanced_brackets.py index 2379f8da..2e8aa8c5 100644 --- a/Basic-Scripts/balanced_brackets.py +++ b/Basic-Scripts/balanced_brackets.py @@ -1,3 +1,4 @@ +#import od module import os ''' @@ -15,6 +16,14 @@ ''' def isBalanced(s): + ''' + + Args:The string + s: String which is to be checked if it has all balanced brackets or no. + + Returns: "YES" if the brackets are balanced in the string else it returns "NO". + + ''' table = {')': '(', ']': '[', '}': '{'} stack = [] for x in s: @@ -27,16 +36,16 @@ def isBalanced(s): else: return "YES" - +#main program if __name__ == '__main__': fptr = open(os.environ['OUTPUT_PATH'], 'w') - t = int(input()) + t = int(input()) #takes the input ie number of test cases from user for t_itr in range(t): - s = input() + s = input() #string taken as input from the user - result = isBalanced(s) + result = isBalanced(s) #isBalanced(s) function will return "YES" if the brackets are balanced else it will return "NO fptr.write(result + '\n')