Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Brackets by PawlakBartosz43
def checkio(expression):
a_opened = 0 # ()
b_opened = 0 # []
c_opened = 0 # {}
current = [] # 1 - () is open, 2 - [] is open, 3 - {} is open
for i in expression:
if(ord(i) == 40):
a_opened += 1
current.append(1)
if(ord(i) == 91):
b_opened += 1
current.append(2)
if(ord(i) == 123):
c_opened += 1
current.append(3)
if(ord(i) == 41):
if(a_opened <= 0):
return False
else:
if(current[len(current) - 1] != 1):
return False
else:
a_opened -= 1
current.pop()
if(ord(i) == 93):
if(b_opened <= 0):
return False
else:
if(current[len(current) - 1] != 2):
return False
else:
b_opened -= 1
current.pop()
if(ord(i) == 125):
if(c_opened <= 0):
return False
else:
if(current[len(current) - 1] != 3):
return False
else:
c_opened -= 1
current.pop()
if(a_opened == 0 and b_opened == 0 and c_opened == 0):
return True
else:
return False
Nov. 1, 2016