
Strong Password
Minh tham gia một mạng xã hội để có thể liên lạc với bạn bè của anh ấy. Trang đăng ký yêu cầu anh nhập tên và mật khẩu. Tuy nhiên, mật khẩu phải mạnh. Trang web xem xét một mật khẩu để được mạnh mẽ nếu nó đáp ứng các tiêu chí sau đây:
- Chiều dài của nó là ít nhất là
6
- Nó chứa ít nhất một chữ số.
- Chứa ít nhất một ký tự chữ thường trong bảng chữ cái tiếng Anh.
- Chứa ít nhất một ký tự chữ hoa trong bảng chữ cái tiếng Anh.
- Nó chứa ít nhất một ký tự đặc biệt.
– Các ký tự đặc biệt là: !@#$%^&*()-+
Anh đã gõ một chuỗi chiều dài ngẫu nhiên, nhưng không chắc chắn nó là mật khẩu mạnh mẽ. Cho chuỗi Minh đã gõ, hãy giúp anh ấy tìm được số lượng ký tự tối thiểu để mật khẩu của Minh đạt các tiêu chí của một mật khẩu mạnh. Nếu không có, trả về -1
.
Ví dụ:
- Với
password = "#CodeLearn"
thìstrong_pass(password) = 1
- Giải thích: Cần thêm
1
ký tự chữ số nữa để mật khẩu đủ mạnh.
- Giải thích: Cần thêm
- Với
password = "aB1"
thìstrong_pass(password) = 3
- Giải thích: Cần thêm 3 ký tự đặc biệt nữa để mật khẩu đủ mạnh.
Đầu vào/Đầu ra:
- [Thời gian chạy] 0.1s với C++, 0.6s với Java và C#, 0.8s với Python, Go và JavaScript.
- [Đầu vào]: String
1 < password.length < 10^6
- [Đầu ra]: IntegerSố lượng ký tự cần thêm vào để đạt tiêu chí của một mật khẩu mạnh.
Post Comment