Python | Beats 99% | Very easy to understand
Explaination:\nWhenever \'(\' comes, push it to stack.\nWhenever \')\' comes and stack is not empty, pop from stack.\nIf \')\' comes and stack is empty, add to 
**Explaination:**\nWhenever \'(\' comes, push it to stack.\nWhenever \')\' comes and stack is not empty, pop from stack.\nIf \')\' comes and stack is empty, add to count (count+=1)\n**Code:**\n```class Solution(object):\n    def minAddToMakeValid(self, S):\n        """\n        :type S: str\n        :rtype: int\n        """\n        stack = []\n        count = 0\n        for i in S:\n            if i == \'(\':\n                stack.append(i)\n            elif stack:\n                stack.pop()\n            else:\n                count += 1\n        return (len(stack) + count)
[]