题解 | #简单密码#

简单密码

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

#include <iostream>
#include<string>
#include<map>
using namespace std;

int main() {

    string str;
    cin >> str;
    map<char, int> mp;
    mp['a'] = 2;
    mp['b'] = 2;
    mp['c'] = 2;

    mp['d'] = 3;
    mp['e'] = 3;
    mp['f'] = 3;

    mp['g'] = 4;
    mp['h'] = 4;
    mp['i'] = 4;

    mp['j'] = 5;
    mp['k'] = 5;
    mp['l'] = 5;

    mp['m'] = 6;
    mp['n'] = 6;
    mp['o'] = 6;

    mp['p'] = 7;
    mp['q'] = 7;
    mp['r'] = 7;
    mp['s'] = 7;

    mp['t'] = 8;
    mp['u'] = 8;
    mp['v'] = 8;

    mp['w'] = 9;
    mp['x'] = 9;
    mp['y'] = 9;
    mp['z'] = 9;

    for (auto cc : str) {
        map<char, int>::iterator it = mp.begin();
        if (cc >= '0' && cc <= '9') {
            cout << cc;
        }

        for (; it != mp.end(); it++) {
            if (cc == it->first) {
                cout << it->second;
                break;
            } else if (cc >= 'A' && cc <= 'Z') {
                if (cc == 'Z') {
                    cc = 'a';
                    cout << cc;
                    break;
                }
                cc = cc + 32 + 1;
                cout << cc;
                break;
            }


        }



    }



}

全部评论

相关推荐

08-27 21:03
已编辑
成都理工大学 Java
冷花幽露:大概率是了,京东面试就是这样。我上周一面也是20多分钟,面试官问的很刁钻的问题也答上来了,面完过了几天还是没推进,泡池子,昨天一看挂了。如果一面完第2天没有收到2面邀请,基本上不用抱希望了。如果你的bg是985,面试流程也是和我们一样,20多分钟,唯一区别就是面完他们会很快收到二面邮件,而不像我们泡池子然后挂掉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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