Back to all solutions
#856 - Score of Parentheses
Problem Description
Given a balanced parentheses string s, return the score of the string.
The score of a balanced parentheses string is based on the following rule:
- "()" has score 1.
- AB has score A + B, where A and B are balanced parentheses strings.
- (A) has score 2 * A, where A is a balanced parentheses string.
Solution
/**
* @param {string} s
* @return {number}
*/
var scoreOfParentheses = function(s) {
const stack = [0];
for (const char of s) {
if (char === '(') {
stack.push(0);
} else {
const value = stack.pop();
stack[stack.length - 1] += Math.max(2 * value, 1);
}
}
return stack[0];
};