Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
first of reversed combinations solution in Clear category for Remove Brackets by juestr
from itertools import combinations
brackets = dict(zip('({[', ')}]'))
def remove_brackets(input):
n = len(input)
def is_balanced(s):
stack = []
for b in s:
if b in brackets:
stack.append(b)
elif stack and b == brackets[stack[-1]]:
stack.pop()
else:
return False
return not stack
irev = ''.join(reversed(input))
selections = (''.join(reversed(c)) for i in range(n, -1, -1) for c in combinations(irev, i))
return next(filter(is_balanced, selections))
June 3, 2020
Comments: