题解 | #简单密码#

简单密码

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

知识点

String相关

fromCharCode()
toLowerCase()
charCodeAt()
includes() \

Map对象

存储

正则

^ 开始符

$ 结束符

/^[0-9]$/  匹配数字

使用正则表达式

let arr =  readline().split('')
let len = arr.length
let res = ''
const map = {
    'abc' : '2', 'def':'3', 'ghi':'4', 'jkl':'5', 'mno':'6', 'pqrs':'7', 'tuv':'8', 'wxyz':'9'
}
for(let i = 0; i< len; i++){
   if(/^[A-Z]$/.test(arr[i])){
       if(arr[i]==='Z'){
           res += 'a'
       } else {
           res += String.fromCharCode(arr[i].toLowerCase().charCodeAt() + 1)
       }
       continue
   }
    if(/^[a-z]$/.test(arr[i])){
        for(let item in map){
            if(item.includes(arr[i])){
                res += map[item]
            }
        }
        continue
    }
    if(/^[0-9]$/.test(arr[i])){
        res += arr[i]
        continue
    }
}
print(res)

傻瓜式解法

let n = readline()
let arr = n.split('')
let len = arr.length
for(let i = 0; i< len; i++){
    if(arr[i].charCodeAt()>=64 &&arr[i].charCodeAt() <90){
      let trans =  String.fromCharCode(arr[i].charCodeAt() + 33)
      arr[i] = trans
    } else if(arr[i].charCodeAt()==90){
       arr[i] = 'a'
    } else { 
        if(arr[i] == 'a' || arr[i] == 'b' || arr[i] == 'c'){
            arr[i]=2
        }
        if(arr[i] == 'd' || arr[i] == 'e' || arr[i] == 'f'){
            arr[i]=3
        }
        if(arr[i] == 'g' || arr[i] == 'h' || arr[i] == 'i'){
            arr[i]=4
        }
        if(arr[i] == 'j' || arr[i] == 'k' || arr[i] == 'l'){
            arr[i]=5
        }
         if(arr[i] == 'm' || arr[i] == 'n' || arr[i] == 'o'){
            arr[i]=6
        }
         if(arr[i] == 'p' || arr[i] == 'q' || arr[i] == 'r' || arr[i] == 's'){
            arr[i]=7
        }
         if(arr[i] == 'w' || arr[i] == 'x' || arr[i] == 'y' || arr[i] == 'z'){
            arr[i]=9
        }
         if(arr[i] == 't' || arr[i] == 'u' || arr[i] == 'v'){
            arr[i]=8
        }
    }
}
print(arr.join(''))
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 14:00
点赞 评论 收藏
分享
king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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