Todos os desafios
Fácil 0 resolvidos 0% de aceitação

Verificação de Regras de Senha

Verifique uma senha de acordo com regras simples de força.

O que você vai aprender

  • Verificar várias regras em uma string
  • Usar flags para dígitos e letras
  • Retornar claramente verdadeiro ou falso

Problema

Ver original (inglês)

Uma senha é considerada forte se tiver pelo menos 8 caracteres, pelo menos uma letra maiúscula, pelo menos uma letra minúscula e pelo menos um dígito (letras em inglês e 0–9).

Implemente is_strong_password(password).

Entrada

password: A senha a ser verificada (caracteres ASCII).

Saída

Retorne true se todas as regras forem atendidas, caso contrário, false.

Restrições

0 ≤ comprimento da senha ≤ 100

Exemplos

Exemplo 1
Entrada:
password = "Secret123"

Saída esperada:
expected = True
Entrada:
std::string password = "Secret123";

Saída esperada:
bool expected = true;
Entrada:
string password = "Secret123";

Saída esperada:
bool expected = true;

Explicação

9 caracteres com S maiúsculo, letras minúsculas e dígitos: forte.

Exemplo 2
Entrada:
password = "password1"

Saída esperada:
expected = False
Entrada:
std::string password = "password1";

Saída esperada:
bool expected = false;
Entrada:
string password = "password1";

Saída esperada:
bool expected = false;

Explicação

Não há letra maiúscula, portanto não é forte.

Como abordar

Tente sozinho primeiro e depois abra uma dica de cada vez.

Dica 1

A senha precisa satisfazer várias condições independentes ao mesmo tempo.

Dica 2

Acompanhe se já viu uma letra maiúscula, uma minúscula e um dígito enquanto confere o tamanho.

Dica 3

Uma string vazia ou curta falha imediatamente, mesmo que tenha caracteres mistos.

Complexidade esperada

tempo O(n), espaço extra O(1)

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.