All files / codeWars duplicateEncoder.ts

100% Statements 10/10
100% Branches 4/4
100% Functions 3/3
100% Lines 10/10

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  4x 4x   4x 20x 6x 14x     4x   20x 10x 10x        
export default function duplicateEncode(word: string): string {
  const map: Record<string, number> = {}
  const normalizedString = word.toLowerCase().split('')
 
  normalizedString.forEach((ch) => {
    if (map[ch])
      map[ch]++
    else map[ch] = 1
  })
 
  return normalizedString
    .map((ch) => {
      if (map[ch] > 1)
        return ')'
      else return '('
    })
    .join('')
}