题解 | #坐标移动# 不太像中等的题

坐标移动

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

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        scanner.useDelimiter("\n");

        String s1 = null;
        if (scanner.hasNext()) {
            s1 = scanner.next();
        }
        int X = 0;
        int Y = 0;
        String[] split = s1.split(";");
        for (int i = 0; i < split.length; i++) {
            String s = split[i];
            if (pipei(s)) {
                if (s.charAt(0) == 'W') {
                    Y += Integer.parseInt(s.substring(1));
                } else if (s.charAt(0) == 'D') {
                    X += Integer.parseInt(s.substring(1));
                } else if (s.charAt(0) == 'S') {
                    Y -= Integer.parseInt(s.substring(1));
                } else if (s.charAt(0) == 'A') {
                    X -= Integer.parseInt(s.substring(1));
                }
            }
        }
        System.out.println(X + "," + Y);
    }

    public static boolean pipei(String s2) {
        Pattern compile = Pattern.compile("[WASD][0-9]{1,2}");
        Matcher matcher = compile.matcher(s2);
        return matcher.matches();
    }
}

全部评论

相关推荐

机械在春招:这个是海康发的还是牛客自己发的啊,今天刚做完官网的行测,突然收到这个邮件
投递海康威视等公司10个岗位
点赞 评论 收藏
分享
DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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