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("(( #")); // ))((