题解 | #坐标移动#
坐标移动
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);
})();