Ce fut l'un d'une série de défis menant à l'anniversaire de Brain-Flak. En savoir plus ici .
Défi
Pour ce défi, votre objectif sera de trouver la toute première paire de supports correspondants dans une chaîne de ()[]{}<>supports parfaitement adaptée . Pour emprunter la définition de DJMcMayhem d'une chaîne entièrement appariée:
Aux fins de ce défi, un « support » est l' un de ces caractères:
()[]{}<>.Une paire de crochets est considérée comme "assortie" si les crochets d'ouverture et de fermeture sont dans le bon ordre et ne contiennent aucun caractère, comme
() []{}Ou si chaque sous-élément à l'intérieur est également mis en correspondance.
[()()()()] {<[]>} (()())Les sous-éléments peuvent également être imbriqués plusieurs couches en profondeur.
[(){<><>[()]}<>()] <[{((()))}]>Une chaîne est considérée comme "entièrement mise en correspondance" si et seulement si chaque paire de supports a le support d'ouverture et de fermeture correct dans le bon ordre.
Contribution
L'entrée consistera en une seule chaîne non vide ou un tableau de caractères contenant uniquement les caractères ()[]{}<>, et il est garanti qu'elle correspond parfaitement. Vous pouvez prendre l' entrée d'une manière raisonnable qui correspond à nos valeurs par défaut i / o .
Sortie
La sortie de votre programme ou fonction sera l'index de la parenthèse qui ferme la première. Sortie doit être soit 0ou 1indexé. Encore une fois, la sortie peut être d'une manière raisonnable qui correspond à nos valeurs par défaut i / o .
Cas de test
Input 0-indexed 1-indexed
() 1 2
(<>) 3 4
<[]{<>}> 7 8
{}{}{}{} 1 2
[[]<>[]] 7 8
C'est le code-golf , le moins d'octets gagne!