题解 | 凯撒加密-JavaScript

凯撒加密

https://www.nowcoder.com/practice/006b7917d3784371a43cfbae01a9313d

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    while ((line = await readline())) {
        let step = parseInt(line) // 步进数
        let ostr = await readline() // 原字符串
        const abc = Array.from({length: 26}, (_, i) => String.fromCharCode(i + 97)) // 字母a-z数组
        let res = ''
        for (let i=0; i<ostr.length; i++) {
            let index = abc.indexOf(ostr[i]) // 获取在字母数组中的位置
            let targetIndex = (index + step) % 26 // 获取+步进后在字母数组中的目标位置
            res += abc[targetIndex] // 拼接字符串
        }
        console.log(res)
    }
})();

全部评论

相关推荐

mama3925:建议专业技能里测试移到最上面,加粗。然后适当加入些自动化测试工具。第二个项目,第三条亮点最后错别字。然后佬如果对自己很自信的话,可以项目放前面,然后项目里可以编造点测试经历,写在写在项目亮点的前两行。最后可加个自我评价,放个博客或者仓库链接
点赞 评论 收藏
分享
一表renzha:你点进去没打招呼他也会有提示的,之前我点进美的,还没打招呼,他马上给我发了不太合适哦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务