题解 | #坐标移动# golang

坐标移动

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

package main

import (
    "fmt"
    "strconv"
    "strings"
)

func main() {
    a := ""
    var x = 0
    var y = 0
    for {
        n, _ := fmt.Scan(&a)
        if n == 0 {
            break
        } else {
            var strList = strings.Split(a, ";")

            for _, item := range strList {
                if len(item) == 0 {
                    continue
                }
                var num = getNum(item[1:])
                if num < 0 {
                    continue
                }
                switch item[0] {
                case 'A':
                    x -= num
                case 'S':
                    y -= num
                case 'W':
                    y += num
                case 'D':
                    x += num

                }
            }
            fmt.Print(x, ",", y)

        }
    }
}

func getNum(str string) int {

    var num, err = strconv.Atoi(str)
    if err != nil {
        return -1
    }
    return num
}
全部评论

相关推荐

专业码bug百年:整个宇宙为你而闪烁
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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