题解 | #坐标移动#

坐标移动

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
    while(line = await readline()){
        let arr = line.split(';')
        let directionMap = {
            'A': {
                idx: 0,
                multiple: -1
            },
            'D': {
                idx: 0,
                multiple: 1
            },
            'W': {
                idx: 1,
                multiple: 1
            },
            'S': {
                idx: 1,
                multiple: -1
            }
        }
        let res = [0, 0]
        for (let val of arr) {
            if (/^([A|S|W|D])(\d+)$/.test(val)) {
                let [_, direction, num] = val.match(/([A|S|W|D])(\d+)/)
                num = Number(num)
                let {idx, multiple} = directionMap[direction]
                res[idx] += (multiple * num)
            }
        }
        console.log(res.join(','))
    }
}()

主要点: 1正确匹配字符串

2.字符串分割

#算法#
全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
07-03 16:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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