Balancing Parentheses
Learn this problemProblem statement
Given a string that consists of left and right parentheses, '(' and ')', balance the parentheses by inserting parentheses as necessary. Determine the minimum number of characters that must be inserted.
Function
balanceParentheses(s: String) → int
Complete the function balanceParentheses in the editor.
balanceParentheses has the following parameter:
String s: a string of parentheses
Returns
int: the minimum number of insertions needed
Examples
Example 1
s = "()))"return = 2Insert a '(' 2 times at the beginning of the string to make it valid: '((()))'
Example 2
s = "))(("return = 4Insert 2 left parentheses at the start and 2 right parentheses at the end of the string to get "(()))(())" after 4 insertions.
Example 3
s = "(()))"return = 1Insert 1 left paranthesis at the left end of the string to get '((()))'. The string is balanced after 1 insertion.
Example 4
s = "()()"return = 0The sequence is already valid.
Constraints
- 1 ≤ length of
s≤ 105