题解 | #简单密码#

简单密码

https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

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

void async function () {
   
   

    //后移逻辑
    function move(index)
    {
        
        if(index==='z')
        {
            return 'a'
        }
        else
        {
            return String.fromCharCode(index.charCodeAt(0) + 1);
        }
    }

    //小写转数字
    function zh(index)
    {
        let ar=['abc','def','ghi','jkl','mno','pqrs','tuv','wxyz']
        for(let i=0;i<8;i++)
        {
            if(ar[i].includes(index))
            {
                return i+2
            }
        }
    }

    //判定逻辑
    function judge(str){
         //构建字符集
        let rel1=/[a-z]/  //小写
        let rel2=/[A-Z]/  //大写
        let arr=[]
        for(let i of str)
        {
            if(i.match(rel2))//大写改小写,并
            {
               arr.push( move(i.toLowerCase()))
            }
            else if(i.match(rel1))//小写转数字
            {
               arr.push(zh(i))
            }
            else
            {
                arr.push(i)
            }
        }
        return arr.join('')
    }


    while(line = await readline()){
        //拿输入,转化为数组
        let input =line.split('')

        console.log(judge(input))

    }
}()

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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