题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
两个难点 一: 将a-z小写字母转化为数字 二: 将大写字母转化为后一位小写字母 代码如下
//获取输入流 line = readline(); //新建两个字母、数字对照数组 const alphabets = ["abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"]; const num = [2, 3, 4, 5, 6, 7, 8, 9]; //利用.replace()将小写字母转化为数字 line = line.replace(/[a-z]/g, alpha => { for (let i = 0; i < alphabets.length; i ++) { let index = alphabets[i].indexOf(alpha) if (index != -1) { return num[i]; } } }) //利用.replace()将大写字母转化为后一位小写字母 line = line.replace(/[A-Z]/g, alpha => { if (alpha == "Z") { return "a" } else { return String.fromCharCode(alpha.toLowerCase().charCodeAt(0) + 1) } }); //输出结果 console.log(line);