[6kyu][fundamentals][strings][array]

https://www.codewars.com/kata/54b42f9314d9229fd6000d9c/solutions/typescript

The goal of this exercise is to convert a string to a new string where
each character in the new string is "(" if that character appears only
once in the original string, or ")" if that character appears more than
once in the original string. Ignore capitalization when determining if a
character is a duplicate.
main
Vasily Guzov 1 year ago
parent e9a72107ed
commit aeb641e339

@ -0,0 +1,44 @@
export function duplicateEncode(word: string) {
let res = "";
let i = 0;
while (i < word.length) {
const char = word[i];
const firstIndex = word.indexOf(char)
const lastIndex = word.lastIndexOf(char)
if (firstIndex !== lastIndex) {
res += ")"
} else {
res += "("
}
i++
}
return res;
}
export function duplicateEncode1(word: string) {
return word
.toLowerCase()
.split('')
.map((a, _, w) => {
return w.indexOf(a) == w.lastIndexOf(a) ? '(' : ')'
})
.join('')
}
console.log(
duplicateEncode("din"), "((("
)
console.log(
duplicateEncode("recede"), "()()()"
)
console.log(
duplicateEncode("Success"), ")())())"
)
console.log(
duplicateEncode("(( @"), "))(("
)
Loading…
Cancel
Save