我是真的不会贪心!!!

一上来就寄,不想学贪心了

整体思路是:遇到左括号进栈,遇到右括号计算总数加出栈一个左括号
代码如下:

s = input()

i = 0
n, res = 0, 1
while i < len(s):
    if s[i] == '(':
        n += 1
    else:
        res *= n
        n -= 1
    i += 1
    
print(res % 1000000007)

由于栈的作用是记录当前有多少个左括号进栈
于是我用 n 代替栈来记录,这样能减少进出栈的开销
不知道这样算不算作弊