Skip to content

justforyou-br/dev-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation


⚗️ JustForYou Dev Challenge

Balanceamento de Brackets

Python v3.8

🔰 Desafio de Balanceamento de Brackets

Primeiramente, obrigado pelo seu interesse em trabalhar na JustForYou! Abaixo você encontrará todas as informações necessárias para iniciar o seu teste.

💡 Avisos antes de começar

  • Crie um repositório público na sua conta do GitHub sem citar nada relacionado a JustForYou;
  • Baixe este projeto e utilize como base deste novo repositório criado por você;
  • Faça seus commits no seu repositório;
  • Após o término, envie o link de seu repositório para a Tech Recruiter que está conduzindo o seu processo seletivo
  • Fique tranquilo(a), respire, assim como você, também já passamos por essa etapa. Boa sorte! :)

❓ Problema

Um bracket é considerado qualquer um dos seguintes caracteres:

  • Colchetes: [ ou ];
  • Parênteses: ( ou );
  • Chaves: { ou }.

Dois brackets são considerados um par combinado se um bracket de abertura (ou seja, (, [, ou {) ocorre à esquerda de um bracket de fechamento (ou seja,),] ou}) do mesmo tipo. Existem três tipos de pares de brackets: [], {} e ().

Um par de brackets correspondente não é balanceado se o conjunto de bracket que ele inclui não for igual. Por exemplo, {[(])} não é balanceado porque o conteúdo entre { e } não é balanceado. O par de colchetes inclui um único parêntese de abertura não balanceado, (, e o par de parênteses inclui um único colchete de fechamento não balanceado,].

Por essa lógica, dizemos que uma sequência de brackets é equilibrada se as seguintes condições forem atendidas:

  • Ele contém um par de bracket.

  • O subconjunto de brackets dentro dos limites de um par de brackets também é um par de brackets combinado.

Dado n string de brackets, determine se cada sequência de brackets esta balanceada. Se uma string for balanceada, retorne YES. Caso contrário, retorne NO.

📝 Descrição da Função

Complete a função isBalanced dentro do arquivo balanced_brackets.py.

isBalanced tem o seguinte parâmetro:

  • string brackets: uma string de brackets

↩️ Retorno

  • string: YES ou NO

🔜 Formato da Entrada

A primeira linha contém um único inteiro n, o número de strings.

Cada uma das próximas n linhas contém uma única string brackets, uma sequência de Brackets.

🔗 Limitação

  • , onde é o comprimento da sequência.
  • Todos os caracteres ∈ { {, }, (, ), [, ] }.

🔙 Formato da Saída

Para cada string retorne YES ou NO

Exemplo de entrada

Tamanho: n = 3

Primeira string: {[()]}

Segunda string : {[(])}

Terceira string: {{[[(())]]}}

Exemplo de saída

YES
NO
YES

💬 Explicação

  1. A string {[()]} atende aos dois critérios para ser uma string balanceada.
  2. A string {[(])} não esta balanceada porque os brackets incluídos pelo par combinado { e } não são balanceados: [(])
  3. A string {{[[(())]]}} atende aos dois critérios para ser uma string balanceada.

🧪 Rodando os testes

Para executar os testes e checar os resultados do desenvolvimento basta rodar o comando abaixo:

python3 -m unittest

About

⚗️ JustForYou dev challange

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages