Para resolver el problema se recurre a una pila como estructura de datos en la que se guardan los paréntesis izquierdos que se van leyendo, y que deben ser extraídos correctamente cuando aparezcan los paréntesis derechos en la expresión a evaluar.
import java.io.*; import java.util.*; class Main { static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); public static void main(String args[]) throws Exception { Main myWork = new Main(); // create a dinamic instance myWork.Begin(); // the true entry point } void Begin() throws Exception { // En la primera línea de la entrada se lee el número de casos a evaluar int numeroCasos = Integer.parseInt(in.readLine()); // Cada caso se evalúa en forma individual for(int i=0; i<numeroCasos; i++) { boolean respuesta = evaluarCadena(in.readLine().toCharArray()); if(respuesta==true) System.out.println("Yes"); if(respuesta==false) System.out.println("No"); } } boolean evaluarCadena(char[] cadena) { // Una pila es la estructura ideal para la evaluación de cadenas balanceadas Stack<Character> cola = new Stack<Character>(); for(char c: cadena) { // los paréntesis izquierdos se agregan a la pila, mientras que los derechos // requieren sacar el elemento opuesto de la pila, de lo contrario hay error. if(c=='[' || c=='(') { cola.push(c); continue; } if(cola.isEmpty()) return false; if(c==')' && cola.pop()!='(') return false; if(c==']' && cola.pop()!='[') return false; } if(!cola.isEmpty()) return false; else return true; } }
kobe shoes
ResponderBorrarkd 11 shoes
timberlands
christian louboutin shoes
adidas tubular x
nike lebron shoes
supreme clothing
golden goose
supreme sweatshirt
ultra boost
xiaofang20191218