In [11]:
# https://www.codewars.com/kata/52774a314c2333f0a7000688/train/python

def valid_parentheses(string):
    paren_stack = []
    if string.isspace(): return False
    
    for i in string:
        if i == "(":
            paren_stack.append(i)
        elif i == ")":
            if len(paren_stack) > 0 and paren_stack[-1] == "(":
                paren_stack.pop()
                continue
            else:
                return False
        else: # any other char
          pass
          
    if len(paren_stack) == 0:
        return True
        
    return False

In [13]:
print valid_parentheses("  (") # False
print valid_parentheses(")test") # False
print valid_parentheses("") # True
print valid_parentheses("hi())(") # False
print valid_parentheses("hi(hi)()") # True


False
False
True
False
True

In [8]:
# clever solution :)
def valid_parentheses_codeWars(string):
    cnt = 0
    for char in string:
        if char == '(': cnt += 1
        if char == ')': cnt -= 1
        if cnt < 0: return False
    return True if cnt == 0 else False

In [ ]: