题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

let commendStr = readline()

/** 给定原坐标,移动方向及移动距离,返回移动后的坐标 */
const move = ({x, y}, direction, distance) => {
    if (direction === 'A') {
        x -= distance
    } else if (direction === 'W') {
        y += distance
    } else if (direction === 'S') {
        y -= distance
    } else if (direction === 'D') {
        x += distance
    }
    return {
        x, 
        y        
    }
}

/** 处理坐标字符串,移除不合法的坐标 */
const commends = (commendStr.split(';')).filter((commend) => {
    return ['A', 'W', 'S', 'D'].includes(commend.charAt(0)) && !isNaN(commend.substring(1))
})

/** 初始坐标 */
let coord = {
    x: 0,
    y: 0
}

/** 遍历所有坐标,得到最终结果 */
commends.forEach(commend => {
    coord = move(coord, commend.charAt(0), +commend.substring(1))
})

console.log(`${coord.x},${coord.y}`)

全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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