Problema
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
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.
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.