Você tem a oportunidade de escrever software para o Bracketeer™, um mainframe antigo, mas poderoso. O software que roda nele é escrito em uma linguagem proprietária. Grande parte da sintaxe é familiar, mas você percebe muitos colchetes, chaves e parênteses. Apesar de o Bracketeer™ ser poderoso, ele não tem flexibilidade. Se o código-fonte tiver qualquer colchete, chave ou parêntese desbalanceado, o Bracketeer™ trava e precisa ser reiniciado. Para evitar esse cenário, você começa a escrever um código capaz de verificar se colchetes, chaves e parênteses estão balanceados antes de tentar rodá-lo no Bracketeer™.
Dada uma string que contém colchetes [], chaves {}, parênteses () ou qualquer combinação deles, verifique se todos os pares estão corretamente pareados e aninhados.
Quaisquer outros caracteres devem ser ignorados.
Por exemplo, "{what is (42)}?" está balanceada e "[text}" não está.
| Registrador | Uso | Tipo | Descrição |
|---|---|---|---|
$a0 |
entrada | endereço | string de entrada terminada em null |
$v0 |
saída | boolean | a entrada tem parênteses, colchetes e chaves correspondentes (0 = false, 1 = true) |
$t0-9 |
temporário | qualquer | usado para armazenamento temporário |
Crie sua conta no Exercism para aprender e dominar MIPS Assembly com 70 exercícios e mentoria humana de verdade, tudo de graça.