题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

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

void async function () {
    // Write your code here
    while(line = await readline()){
        let tokens = line.split(';');
        let reg = /[ADSW]\d{1,2}/g
        let reg2 = /\d+\D/g
        const coord = [0, 0]
        let res
        for(let i of tokens) {
            if(i.match(reg2)) continue;
            res = i.match(reg)
            // console.log('res:',res);
            if(res != null) {
                // console.log('res[0][0]:',res[0][0]);
                switch(res[0][0]) {
                    case 'A': {
                        coord[0] -= parseInt(res[0].slice(1));
                        break;
                    }
                    case 'D': {
                        coord[0] += parseInt(res[0].slice(1));
                        break;
                    }
                    case 'W': {
                        coord[1] += parseInt(res[0].slice(1));
                        break;
                    }
                    case 'S': {
                        coord[1] -= parseInt(res[0].slice(1));
                        break;
                    }
                }
            }
        }
        console.log(coord[0] + ',' + coord[1])

    }
}()

全部评论

相关推荐

点赞 评论 收藏
分享
求个付费实习岗位:这种就是吃满时代红利又没啥技术水平,只能靠压力学生彰显优越感的老登,别太在意了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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