문제
https://school.programmers.co.kr/learn/courses/15009/lessons/121687
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
로봇의 방향에 따라서 좌표를 기록하는 문제이다.
1. 로봇의 방향과 좌표를 기록하는 변수를 선언한다.
2. 방향 이동 배열을 생성한다.
3. R,L,G,B에 해당하는 방향 회전 처리나 이동을 처리한다.
3-1. 오른쪽 회전은 방향에서 +1 해서 4를 나머지 연산을 한다.
3-2. 왼쪽 회전은 방향에서 +3 해서 4를 나머지 연산을 한다.
3-3. 현재 방향으로 x, y를 dx, dy에 방향에 해당하는 것을 더한다.
3-4. 현재 방향으로 x, y를 dx, dy에 방향에 해당하는 것을 뺀다.(보는 방향을 빼면 역방향)
4. 현재 좌표를 배열을 만들어서 리턴한다.
시간복잡도: O(100000)
소스코드
class Solution {
public int[] solution(String command) {
int x = 0;
int y = 0;
int dir = 0;
int[] dx = {0, 1, 0, -1};
int[] dy = {1, 0, -1, 0};
for (char com : command.toCharArray()) {
if (com == 'R') {
dir = (dir + 1) % 4;
} else if (com == 'L') {
dir = (dir + 3) % 4;
} else if (com == 'G') {
x += dx[dir];
y += dy[dir];
} else {
x -= dx[dir];
y -= dy[dir];
}
}
return new int[] {x, y};
}
}
실행결과

'Problem Solving > Programmers' 카테고리의 다른 글
| [Programmers] PCCP 모의고사 2회 3번 - 카페 확장 - Java (0) | 2025.07.11 |
|---|---|
| [Programmers] PCCP 모의고사 2회 2번 - 신입사원 교육 - Java (1) | 2025.07.10 |
| [Programmers] PCCP 모의고사 1회 4번 - 운영체제 - Java (0) | 2025.07.09 |
| [Programmers] 문자열 내 마음대로 정렬하기 - Java (0) | 2025.07.07 |
| [Programmers] PCCP 모의고사 1회 3번 - 유전법칙 - Java (0) | 2025.07.06 |