All files / algorithms/lib duplicateEncodedr.ts

0% Statements 0/37
0% Branches 0/1
0% Functions 0/1
0% Lines 0/37

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                                                                                         
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("(( @"), "))(("
)