LeetCode-Problems / 0856. Score of Parentheses / 856. Score of Parentheses.py
856. Score of Parentheses.py
Raw
s = "()()"

i = 0
new_s = []
while i < len(s):
    peek = s[i]
    if i + 1 < len(s) and s[i : i + 2] == "()":
        new_s.append(int(1))
        i += 1
    else:
        new_s.append(s[i])
    i += 1

while len(new_s) > 1:
    s = new_s.copy()
    new_s = []
    i = 0
    while i < len(s):
        j = 1
        sumd = s[i]
        if s[i] != "(" and s[i] != ")":
            while i + j < len(s) and s[i + j] != "(" and s[i + j] != ")":
                sumd += s[i + j]
                j += 1
        new_s.append(sumd)
        i += j

    s = new_s.copy()
    new_s = []
    i = 0
    while i < len(s):
        if (
            i < len(s) - 2
            and s[i] == "("
            and s[i + 1] != ")"
            and s[i + 1] != "("
            and s[i + 2] == ")"
        ):
            new_s.append(2 * s[i + 1])
            i += 3
            continue
        else:
            new_s.append(s[i])
            i += 1

print(new_s[0])