题解 | #坐标移动#
坐标移动
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
const str = await readline()
const directionMap = {
A: [-1, 0],
D: [1, 0],
W: [0, 1],
S: [0, -1]
}
const point = [0, 0]
const arr = str.split(';').forEach(item => {
if (!item || item.length < 2 || item.length > 3) return
const direction = item.slice(0, 1)
let distance = item.slice(1)
movePoint(point, direction, distance)
})
console.log(point.join(','))
function movePoint(point, direction, distance) {
if (!directionMap[direction] || isNaN(distance)) return
const directionArr = directionMap[direction]
point[0] = point[0] + directionArr[0] * distance
point[1] = point[1] + directionArr[1] * distance
}
}()
