题解 | #简单密码#

简单密码

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;

const alphToNum = {
    a: 2, b: 2, c: 2,
    d: 3, e: 3, f: 3,
    g: 4, h: 4, i: 4,
    j: 5, k: 5, l: 5,
    m: 6, n: 6, o: 6,
    p: 7, q: 7, r: 7, s: 7,
    t: 8, u: 8, v: 8,
    w: 9, x: 9, y: 9, z: 9,
}

void async function () {
    // Write your code here
    let val = '';
    while(line = await readline()){
        for (let i = 0; i < line.length; i++) {
            let str = line.charAt(i);
            if (/[a-z]/.test(str)) {
                val += alphToNum[str];
            } else if (/[A-Z]/.test(str)) {
                // 大写转成小写 --- 小写转数字 + 1 ---转成字母
                let b = str.toLowerCase().charCodeAt(0) + 1;
                str === 'Z' ? val += 'a' : val += String.fromCharCode(b);
                
            } else {
                // 数字和其它的符号都不做变换
                val += str;
            }
        }
        console.log(val);
    }
}()

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-24 13:36
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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