题解 | #坐标移动#

坐标移动

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

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		str := scanner.Text()
		strSli := strings.Split(str, ";")

		var x, y int
		for _, val := range strSli {
			if len(val) != 2 && len(val) != 3 {
				continue
			}

			if val[0] != 'A' && val[0] != 'D' && val[0] != 'W' && val[0] != 'S' {
				continue
			}

			numStr := val[1:]

			num, err := strconv.Atoi(numStr)
			if err != nil {
				continue
			}

			if num < 0 || num > 99 {
				continue
			}

			switch val[0] {
			case 'A':
				x += -num
			case 'D':
				x += num
			case 'W':
				y += num
			case 'S':
				y += -num
			default:
				continue
			}
		}

		fmt.Printf("%d,%d\n", x, y)
	}
}

全部评论

相关推荐

小浪_Coding:个人技能一条测试没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务