Tens a oportunidade de escrever software para o Bracketeer™, um mainframe antigo mas poderoso. O software que nele corre está escrito numa linguagem proprietária. Grande parte da sua sintaxe é familiar, mas reparas que há imensos parênteses retos, chavetas e parênteses. Apesar de o Bracketeer™ ser poderoso, falta-lhe flexibilidade. Se o código-fonte tiver parênteses retos, chavetas ou parênteses desequilibrados, o Bracketeer™ avaria e tem de ser reiniciado. Para evitar esse cenário, começas a escrever código capaz de verificar se os parênteses retos, as chavetas e os parênteses estão equilibrados antes de tentares executá-lo no Bracketeer™.
Dada uma string que contém parênteses retos [], chavetas {}, parênteses (), ou qualquer combinação destes, verifica se todos os pares estão corretamente emparelhados e aninhados.
Quaisquer outros carateres devem ser ignorados.
Por exemplo, "{what is (42)}?" está equilibrado e "[text}" não está.
Inscreve-te no Exercism para aprenderes e dominares R com 21 conceitos111 exercícios, e mentoria humana real, tudo grátis.