题解 | 坐标移动
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let targetStr:string[] = [] // 输入数组 let targetPosition:number[] = [0,0] rl.on('line', function (line) { targetStr = line.split(";") }).on('close',()=>{ for(let i=0;i<targetStr.length;i++){ // 如果不是AWSD 开头且后面没有两位数字 if(/^[AWSD]\d{1,2}$/.test(targetStr[i])){ let _position:number = Number(targetStr[i].match(/\d{1,2}/)[0]) let direction:string = targetStr[i].match(/[AWSD]{1}/)[0] caculate(direction,_position) } } console.log(targetPosition.join(",")) }) /** * direction 方向 * _position 位置 */ function caculate(direction:string,_position:number){ switch(direction){ case "A": targetPosition[0]-= _position; break; case "W": targetPosition[1]+= _position; break; case "S": targetPosition[1]-= _position; break; case "D": targetPosition[0]+= _position; break; } }