Tu as l'occasion d'écrire un logiciel pour le Bracketeer™, un mainframe ancien mais puissant. Le logiciel qui tourne dessus est écrit dans un langage propriétaire. Sa syntaxe est en grande partie familière, mais tu remarques beaucoup de crochets, d'accolades et de parenthèses. Bien que le Bracketeer™ soit puissant, il manque de flexibilité. Si le code source contient des crochets, des accolades ou des parenthèses qui ne sont pas équilibrés, le Bracketeer™ plante et doit être redémarré. Pour éviter un tel scénario, tu commences à écrire du code capable de vérifier que les crochets, les accolades et les parenthèses sont équilibrés avant d'essayer de l'exécuter sur le Bracketeer™.
Étant donné une string contenant des crochets ([]), des accolades ({}), des parenthèses (()), ou n'importe quelle combinaison de ceux-ci, vérifie que toutes les paires sont correctement appariées et imbriquées.
Tous les autres caractères doivent être ignorés.
Par exemple, "{what is (42)}?" est équilibré et "[text}" ne l'est pas.
| Registre | Utilisation | Type | Description |
|---|---|---|---|
$a0 |
entrée | adresse | string d'entrée terminée par un caractère nul |
$v0 |
sortie | booléen | les crochets de l'entrée sont appariés (0 = false, 1 = true) |
$t0-9 |
temporaire | quelconque | utilisé pour le stockage temporaire |
Inscris-toi sur Exercism pour apprendre et maîtriser MIPS Assembly avec 70 exercices, et un vrai mentorat humain, le tout gratuitement.