Avalie o grupo de parênteses

A função recebe uma string de parênteses balanceada. Cada parêntese de abertura "(" tem um parêntese de fechamento correspondente ")". Calcule a pontuação total com base nas seguintes regras:

  • A substring s = "()" tem pontuação 1,
  • A substring "s1s2" tem pontuação total igual à pontuação de "s1" + a pontuação de "s2",
  • A substring "(s)" tem pontuação total de 2 * a pontuação de "s".

Calcule a pontuação total da expressão fornecida e retorne-a como um inteiro.

Exemplos

eval_parentheses("()") ➞ 1
# 1

eval_parentheses("(())") ➞ 2
# 2 * 1

eval_parentheses("()()") ➞ 2
# 1 + 1

eval_parentheses("((())())") ➞ 6
# 2 * (2 * 1 + 1)

eval_parentheses("(()(()))") ➞ 6
# 2 * (1 + 2 * 1)

eval_parentheses("()(())") ➞ 3
# 1 + 2 * 1

eval_parentheses("()((()))") ➞ 5
# 1 + 2 * 2 * 1

Notas

N/A