Algorithm/이코테

상하좌우

마닐라 2021. 11. 18. 13:27

 

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        //좌우상하
        int[] dx = {0,0,-1,1};
        int[] dy = {-1,1,0,0};
        char[] movesType = {'L','R','U','D'};

        // N, K를 공백을 기준으로 구분하여 입력 받기
        int n = sc.nextInt();
        sc.nextLine();
        String s = sc.nextLine();
        String[] plans = s.split(" ");
        System.out.println(Arrays.toString(plans));

        //시작 좌표
        int x = 1, y = 1;
        //입력받은 좌표들 확인
        for(String plan : plans) {
            //해당 좌표에서 좌우상하 순으로 갈 수 있는 좌표 확인
            for(int i = 0; i < movesType.length; i++) {
                if(plan.charAt(0) == movesType[i]) {
                    int nx = dx[i] + x;
                    int ny = dy[i] + y;
                    //이동 가능하면 좌표 변경
                    if(nx > 0 && ny > 0 && nx <= n && ny <= n) {
                        x = nx;
                        y = ny;
                        break;
                    }
                }
            }
        }
        System.out.println(x + " " + y);
    }
}

'Algorithm > 이코테' 카테고리의 다른 글

미로 탈출  (0) 2021.11.22
★음료수 얼려 먹기  (0) 2021.11.22
게임 개발  (0) 2021.11.18
왕실의 나이트  (0) 2021.11.18
1이 될 때 까지  (0) 2021.11.17