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
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 [ ]: