Danh sách

Ẩn thông tin nhạy cảm Email & Số điện thoại (Mask Sensitive Data)

Dễ
Thuật Toán Web Thực Chiến (Practical Web Algorithms) 600ms 64MB

Trong phát triển Web và bảo vệ dữ liệu người dùng (GDPR, an toàn thông tin), hệ thống thường cần che giấu một phần thông tin cá nhân (như email, số điện thoại) khi hiển thị trên giao diện hoặc lưu trữ log.

Cho một chuỗi s là địa chỉ Email hoặc Số điện thoại:

  • Nếu là Email (có ký tự @): Giữ lại ký tự đầu tiên và ký tự cuối cùng của tên người dùng (phần trước @), thay thế tất cả các ký tự ở giữa bằng 5 dấu sao *****, và chuyển toàn bộ chuỗi sang chữ thường (lowercase).
  • Nếu là Số điện thoại (không có @): Trích xuất toàn bộ các chữ số trong chuỗi, ẩn tất cả chỉ để lại 4 chữ số cuối cùng, các chữ số phía trước thay bằng dấu sao * tương ứng với số lượng chữ số đã ẩn.

Ví dụ 1:

Input: s = '[email protected]'
Output: 'c*****[email protected]'

Ví dụ 2:

Input: s = '0987654321'
Output: '******4321'
Giải thích: 10 chữ số, ẩn 6 số đầu và giữ 4 số cuối.
Định Dạng Đầu Vào (Input)
Một dòng chứa chuỗi s
Định Dạng Đầu Ra (Output)
Chuỗi sau khi đã che giấu thông tin nhạy cảm
Ràng Buộc (Constraints)
  • Chuỗi s hợp lệ có độ dài từ 4 đến 100
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Output:
"c*****[email protected]"
Giải thích: Ẩn tên email
Ví dụ 2:
Input:
"0987654321"
Output:
"******4321"
Giải thích: Ẩn số điện thoại
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Phân Loại & Thao Tác Chuỗi O(n)

Kiểm tra vị trí dấu @: Nếu có thì xử lý theo quy tắc email; nếu không thì lọc chữ số và thay thế bằng dấu *.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
Kết quả kỳ vọng (Expected Output):
Dữ liệu đầu vào (Input):
"0987654321"
Kết quả kỳ vọng (Expected Output):
"******4321"
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học