【华为机试】简单密码

题目描述
题目太长不copy了。
字符串转换规则。
大写字母转为下一个字母的小写格式。如:'A' -> 'b' 、'B' -> 'c'、'Z' -> 'a'。
小写字符转为九宫格键盘序。即'a''b''c' - > 2、'd''e''f' -> 3。
其余字符不变。

输入描述

输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾
e.g.
YUANzhi1987

输出描述

输出真正的密文
e.g.
zvbo9441987

题解
开始的时候还转换过来转换过去,最后直接简单粗暴上了。

var readline = require('readline');
var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

var str1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var str2 = 'bcdefghijklmnopqrstuvwxyza222333444555666777788899990123456789';

rl.on('line', function (input) {
    var str = input.trim();
    console.log(revertPw(str));
})

function revertPw (str) {
    var tmp = "";
    for (var i = 0; i < str.length; i++) {
        tmp += revert(str[i]);
    }
    return tmp;
}

function revert(c) {
    for (var j = 0; j < str1.length; j++) {
        if(c == str1[j]) return str2[j];
    }
    return c;
}

你可能感兴趣的:(【华为机试】简单密码)