Функция duplicateEncode

Функция duplicateEncode


Ответ:

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