Câu chuyện
Tôi cần nhớ rất nhiều mật khẩu và không muốn sử dụng cùng một mật khẩu cho nhiều trang web vì vậy tôi đã đưa ra một quy tắc, nhưng quy tắc không nên minh bạch nên điều tôi làm là:
- Hãy nghĩ về một từ dài hoặc khái niệm như
breadpudding. - Thay thế chữ cái đầu tiên bằng trang web chúng tôi đang đăng nhập. Nếu chúng ta đang đăng nhập
google, từ của chúng ta trở thànhgreadpudding. - Làm chữ hoa đầu tiên.
- Thay đổi chữ cái thứ hai thành một
@dấu hiệu. - Nếu mật khẩu bắt đầu bằng một phụ âm, hãy thêm một số nhất định (chẳng hạn như
1234); mặt khác, thêm một số khác (chẳng hạn như4321).
Ta da, bây giờ bạn có một mật khẩu đầy đủ.
Tuy nhiên, quá trình này rất khó khăn vì vậy tôi cần một chương trình để tạo nó cho tôi dựa trên những điều sau đây:
Vấn đề
Đưa ra đầu vào:
a: từ ban đầu, là một chuỗi và luôn luôn là chữ thường và được đảm bảo dài hơn 3 ký tự.b: trang web chúng tôi đang đăng nhập, là một chuỗi và luôn là chữ thường và được đảm bảo không trống.c: số cho các phụ âm không phụ âm, là số nguyên dương có thể có các số 0 đứng đầu.d: số cho phụ âm, là số nguyên dương có thể có các số 0 đứng đầu.
Xuất ra một chuỗi dựa trên các tiêu chí trên.
Các trường hợp thử nghiệm
Đầu vào a="volvo", b="gmail", c=5555, d="0001"
G@lvo0001
Đầu vào a="sherlock", b="9gag", c=31415926535, d=3
9@erlock31415926535
Đầu vào a="flourishing", b="+google", c=11111, d=2222
+@ourishing11111
Quy tắc
ylà một phụ âm.- Nếu bạn quyết định
choặcdlà một số nguyên, bạn có thể phân tích cú pháp như vậy và các số 0 đứng đầu có thể bị bỏ qua (0091được coi là91). - Trailing khoảng trắng và dòng mới được cho phép.
- Bạn có thể xuất kết quả thành STDOUT hoặc trả về kết quả trong hàm.
- Nhân vật được phép trong
avàblà[a-z0-9!@#$%^&*()_+=-]. - Bạn có thể chấp nhận 4 đầu vào theo thứ tự nhất quán.
Đây là môn đánh gôn . Mã ngắn nhất trong byte thắng.