#desafiodrk3

Validar llaves, corchetes y paréntesis

Enunciado

Dada una cadena con llaves, corchetes y paréntesis validar que todas las aperturas y cierres son correctas y que el anidamiento cumple con que sólo puede haber corchetes dentro de llaves y paréntesis dentro de corchetes. Y se puede anidar cualquiera dentro de sí mismo. Complejidad temporal y espacial lineal O(n).

Detalles

  • Se recibe una cadena que sólo tiene los símbolos de apertura y cierre de llaves, corchetes y paréntesis {} [] ().
  • La cadena es de largo variable y podrá tener hasta 50.000 caracteres.
  • La cadena recibida puede o no ser válida y el algoritmo debe indicar esto.
  • No es necesario pero indicar la posición donde se detecta el error es un plus.

Videos

Ejemplos

Cadenas válidas

"{()[]}"
"{(()())}{[(()())][]}"
"{[]}"
"{{}{}}"
"(())"

Cadenas inválidas

"{(()}"
"{((()())}{[(()())][]}"
"[{}]"
"}"
"{"

Cómo enviar respuestas

Para enviar respuestas largas o que contengan código (no sólo para este desafío sino en las redes sociales en general) se puede utilizar:

Luego pegar la URL en un comentario del video o enviar un mail.