FastPrepFastPrep
Problem Brief

Balancing Parentheses

FULLTIMEOA

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 Description

Complete the function balanceParentheses in the editor.

balanceParentheses has the following parameter:

  1. String s: a string of parentheses

Returns

int: the minimum number of insertions needed

♫⋆。♪ ₊˚♬ ゚.Huge Thanks to spike!!𓂃 🐳𓈒𓏸

1Example 1

Input
s = "()))"
Output
2
Explanation
Insert a '(' 2 times at the beginning of the string to make it valid: '((()))'

2Example 2

Input
s = "))(("
Output
4
Explanation
Insert 2 left parentheses at the start and 2 right parentheses at the end of the string to get "(()))(())" after 4 insertions.

3Example 3

Input
s = "(()))"
Output
1
Explanation
Insert 1 left paranthesis at the left end of the string to get '((()))'. The string is balanced after 1 insertion.

4Example 4

Input
s = "()()"
Output
0
Explanation
The sequence is already valid.

Constraints

Limits and guarantees your solution can rely on.

1 ≤ length of s ≤ 105

public int balanceParentheses(String s) {
  // write your code here
}
Input

s

"()))"

Output

2

Sign in to submit your solution.