Santiago Moresi

Generation

generate functionTue, 13 Jun 2023

// En el hospital unas de las maquinas empezó a fallar y lanzan un error por pantalla, debemos identificar cuáles tienen un patron de inicio y cierre: // Necesitamos que determines si el error esta balanceado en cuanto a paréntesis, corchetes y llaves. // La función debe devolver true si los paréntesis, corchetes y llaves están balanceados y false en caso contrario. // Se considera que los paréntesis, corchetes y llaves están balanceados si para cada uno de estos símbolos de apertura hay un símbolo de cierre correspondiente y los símbolos están correctamente anidados. // Ejemplo: // Input: "{[()()]}" // Output: true // Input: "([)]" // Output: false // REQUISITOS: // 🟢 Respetar el principio de LIFO que tienen los stacks // 🟢 Retornar true o false, dependiendo de lo que corresponda. // 🟢 Investigar que hace el metodo charAt, les puede servir

def balance(s): if len(s) % 2 != 0: return False opening = set('([{') matches = set([ ('(',')'), ('[', ']'), ('{','}') ]) stack = [] for paren in s: if paren in opening: stack.append(paren) else: if len(stack) == 0: return False last_open = stack.pop() if (last_open, paren) not in matches: return False return len(stack) == 0 print(balance("([)]" ))

Want to kickstart your project?Use the new AI Studio to create your code