Primeiramente, obrigado pelo seu interesse em trabalhar na JustForYou! Abaixo você encontrará todas as informações necessárias para iniciar o seu teste.
- 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! :)
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 debrackets
também é um par debrackets
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
.
Complete a função isBalanced
dentro do arquivo balanced_brackets.py
.
isBalanced
tem o seguinte parâmetro:
- string
brackets
: uma string debrackets
- string:
YES
ouNO
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.
Para cada string retorne YES
ou NO
Tamanho: n = 3
Primeira string: {[()]}
Segunda string : {[(])}
Terceira string: {{[[(())]]}}
YES
NO
YES
- A string
{[()]}
atende aos dois critérios para ser uma string balanceada. - A string
{[(])}
não esta balanceada porque os brackets incluídos pelo par combinado{
e}
não são balanceados:[(])
- A string
{{[[(())]]}}
atende aos dois critérios para ser uma string balanceada.
Para executar os testes e checar os resultados do desenvolvimento basta rodar o comando abaixo:
python3 -m unittest