How to decrypt string from a string containing digits (0-9) and # by using numbers mapping in Node.js

1 Answer

0 votes
/*
numbers mapping:
 
a = 1
b = 2
...
j = 10#
...
z = 26#
*/
 
function decryptString(str) {
    let result = "";
    let i = 0;
     
    while (i < str.length) {
        if (i + 2 < str.length && str[i + 2] === '#') {
            let num = (parseInt(str[i], 10) * 10) + parseInt(str[i + 1], 10);
            result += String.fromCharCode(num + 96);
            i += 3;
        } else {
            result += String.fromCharCode(parseInt(str[i], 10) + 96);
            i += 1;
        }
    }
    return result;
}
 
let decrypted = decryptString("123410#11#26#");
 
console.log(decrypted);
 
 
 
 
/*
run:
 
abcdjkz
 
*/

 



answered Feb 14, 2024 by avibootz
...