Answer

Answer

t.me/js_test

Ответ:

function duplicateEncode(str) {
    return str
        .toLowerCase()
        .split("")
        .map((char, i, arr) => {
            return arr.indexOf(char) === arr.lastIndexOf(char) ? "(" : ")";
        })
        .join("");
}

Обьяснение:

Первым делом приводим строку к нижнему регистру, затем разбиваем на массив. Далее с помощью метода map проходим по каждому элементу а смотрим: если индекс элемента начиная с начала равен индексу этого элемента начиная с конца значит такой элемент только один и переписываем его на ( в противном случае переписываем элемент на (. Сворачиваем массив обратно в строку и возвращаем.

Код для проверки:

function duplicateEncode(str) {
    return str
        .toLowerCase()
        .split("")
        .map((char, i, arr) => {
            return arr.indexOf(char) === arr.lastIndexOf(char) ? "(" : ")";
        })
        .join("");
}

console.log(duplicateEncode("win")); // (((
console.log(duplicateEncode("receipt")); // ()()(((
console.log(duplicateEncode("Success")); // )())())
console.log(duplicateEncode("(( #")); // ))((

Report Page