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_check(s): # check is even number of brackets if len(s) % 2 != 0: return False # Set of opening brackets opening = set('([{') # Matching Pairs matches = set([('(',')'),('[',']'),('{','}')]) # Use a list as a "Stack" stack = [] # Check every parenthesis in string for paren in s: # If its an opening, append it to list if paren in opening: stack.append(paren) else: # Check that there are parentheses in Stack if len(stack) == 0: return False # Check the last open parenthesis last_open = stack.pop() # Check if it has a closing match if (last_open,paren) not in matches: return False return len(stack) == 0

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