题解 | #坐标移动#

坐标移动

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 () {
    let dir = new Set(["W", "S", "A", "D"]);
    let coord = { x: 0, y: 0 };
    // Write your code here
    while ((line = await readline())) {
        line = line.split(";");
        line = line.filter((v) => {
            return v.length <= 3 && v.length >= 2;
        });
        line.forEach(v => {
            let d = v[0],
                num = v.slice(1, v.length);
            if (dir.has(d) && !isNaN(num) && isFinite(num)) {
                num = parseInt(num);
                switch (d) {
                    case "W":
                        coord.y += num;
                        break;
                    case "S":
                        coord.y -= num;
                        break;
                    case "A":
                        coord.x -= num;
                        break;
                    case "D":
                        coord.x += num;
                        break;
                }
            }
        });
    }
    console.log(coord.x + "," + coord.y);
})();

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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