题解 | #坐标移动#

坐标移动

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 x = 0,
            y = 0;
        arr = line.split(";");
        let reg = /^[A|S|W|D]\d{0,2}$/;
        for (let k of arr) {
            if (!reg.test(k)) {
                continue;
            } else {
                let arr1 = k.split("");
                let direction = arr1[0];
                arr1.shift();
                let distance = Number(arr1.join(''));
                switch (direction) {
                    case "A":
                        x -= distance;
                        break;
                    case "D":
                        x += distance;
                        break;
                    case "W":
                        y += distance;
                        break;
                    case "S":
                        y -= distance;
                        break;
                    default:
                        break;
                }
            }
        }
        let str1 = x + "," + y;
        console.log(str1);
    }
})();

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务