
class Solution {
public int[] solution(String command) {
// 최종 결과를 answer 배열을 만들어서 좌표 저장
int[] answer = new int[2];
// 로봇의 현재 위치 저장, (0, 0) 에서 시작
int x = 0;
int y = 0;
int[] dx = {1, -1, 0, 0};
int[] dy = {0, 0, -1, 1};
int dir = 3; // 처음엔 +y 축(북쪽)에 놓여있어야 되니까
for(char cmd : command.toCharArray()) {
if(cmd == 'G') {
x += dx[dir];
y += dy[dir];
}
else if(cmd == 'B') {
x -= dx[dir];
y -= dy[dir];
}
else if(cmd == 'R') {
if (dir == 3) dir = 0; // 북->동
else if (dir == 0) dir = 2; // 동->남
else if (dir == 2) dir = 1; // 남->서
else if (dir == 2) dir = 3; // 서->북
}
else if(cmd == 'L') {
if (dir == 3) dir = 1; // 북->서
else if (dir == 1) dir = 2; // 서->남
else if (dir == 2) dir = 0; // 남->동
else if (dir == 0) dir = 3; // 동->북
}
}
answer[0] = x;
answer[1] = y;
return answer;
}

int[] dx = {0, 1, 0, -1};
int[] dy = {1, 0, -1, 0};
class Solution {
public int[] solution(String command) {
int[] answer = new int[2];
int x = 0;
int y = 0;
// 시계방향 순서로 배열 정의: 북(0)->동(1)->남(2)->서(3)
int[] dx = {0, 1, 0, -1};
int[] dy = {1, 0, -1, 0};
// 처음엔 +y 축(북쪽)에 놓여있어야 되니까
int dir = 0;
for (char cmd : command.toCharArray()) {
if (cmd == 'G') {
x += dx[dir];
y += dy[dir];
}
else if (cmd == 'B') {
x -= dx[dir];
y -= dy[dir];
}
else if (cmd == 'R') {
dir = (dir + 1) % 4;
}
else if (cmd == 'L') { // 음수 방지 +4
dir = (dir - 1 + 4) % 4;
}
}
answer[0] = x;
answer[1] = y;
return answer;
}
}


