Este fue uno de una serie de desafíos previos al cumpleaños de Brain-Flak. Descubre más aquí .
Reto
Para este desafío, su objetivo será encontrar el primer par de corchetes coincidentes en una cadena de ()[]{}<>corchetes totalmente coincidentes . Para tomar prestada la definición de DJMcMayhem de una cadena totalmente coincidente:
A los efectos de este reto, un "soporte" es cualquiera de los siguientes caracteres:
()[]{}<>.Un par de paréntesis se considera "coincidente" si los paréntesis de apertura y cierre están en el orden correcto y no tienen caracteres dentro de ellos, como
() []{}O si cada subelemento dentro de él también coincide.
[()()()()] {<[]>} (()())Los subelementos también se pueden anidar en varias capas de profundidad.
[(){<><>[()]}<>()] <[{((()))}]>Una cadena se considera "Totalmente coincidente" si y solo si cada par de corchetes tiene el corchete de apertura y cierre correcto en el orden correcto.
Entrada
La entrada consistirá en una sola cadena no vacía o matriz de caracteres que contiene solo los caracteres ()[]{}<>, y se garantiza que coincida completamente. Usted puede tomar la entrada de cualquier manera razonable que se corresponde con nuestros E / S por defecto .
Salida
La salida de su programa o función será el índice del paréntesis que cierra el primero. La salida debe ser 0o 1indexada. Una vez más, la salida puede estar en cualquier forma razonable que se corresponde con nuestros E / S por defecto .
Casos de prueba
Input 0-indexed 1-indexed
() 1 2
(<>) 3 4
<[]{<>}> 7 8
{}{}{}{} 1 2
[[]<>[]] 7 8
Este es el código de golf , ¡la menor cantidad de bytes gana!