diff --git a/lib/duplicateEncodedr.ts b/lib/duplicateEncodedr.ts new file mode 100644 index 0000000..37e3557 --- /dev/null +++ b/lib/duplicateEncodedr.ts @@ -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("(( @"), "))((" +)