Функция скрытия всех символов кроме последних четырёх

Подсчитайте символы и замените префикс длиной max(0, count−4) на #, сохранив последние четыре символа.

Короткий ответ

Что ответить на собеседовании

Подсчитайте символы и замените префикс длиной max(0, count−4) на #, сохранив последние четыре символа.

Подробный разбор

Ответ с пояснениями

Условие

Реализуйте функцию, которая принимает строку и возвращает новую строку, в которой все символы, кроме последних четырёх, заменены символом "#".

Ответ

Подсчитайте символы и замените префикс длиной max(0, count−4) на #, сохранив последние четыре символа.

func mask(_ text: String) -> String {
    let hiddenCount = max(0, text.count - 4)
    return String(repeating: "#", count: hiddenCount) + String(text.suffix(4))
}

Пустая строка и строки длиной до четырёх символов остаются без изменений. Swift String.count и suffix работают с Character, поэтому составной emoji считается пользовательским символом, а не отдельными UTF-8-байтами. Это визуальная маскировка, не шифрование: исходную строку нельзя продолжать отправлять в логи или скрытые атрибуты интерфейса.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее