迷路的牛牛 - Java

牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。

https://www.nowcoder.com/questionTerminal/09e577022dac4220b3e8203f97c2ef59?answerType=1&f=discussion

输入描述:
每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。

输出描述:
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。
示例1
输入

3
LRR

输出
E


思路:

LR 相互抵消,剩下的方向real(全是 L 或全是 R
real % 4 的值就是方向,剩下的方向是 L 还是 R ,用tmp来记录。
实际上,只要注意WE , 如果是逆时针方向转(L),要改变一下判断的值

import java.util.*;
public class Main {
    public static void main(String[] args) {   
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int nL = 0,nR = 0;
        String s = sc.next();
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)==('L')){
                nL ++;
            }else nR++;
        }
        int real = Math.abs(nL-nR);
        int tmp = nL>nR?2:0;
         
        if(real %4==0){
            System.out.println("N");
        }else if(real %4==1+tmp){
            System.out.println("E");
        }else if(real %4==2){
            System.out.println("S");
        }else if(real %4==3-tmp){
            System.out.println("W");
        }
    }
}

你可能感兴趣的:(JAVA,刷题,算法)