class Solution {
public int[] solution(String[] keyinput, int[] board) {
int[] answer = {0, 0};
for (String input : keyinput) {
switch (input) {
case "up":
if (answer[1] == board[1] / 2) continue;
answer[1] += 1;
break;
case "down":
if (answer[1] == -(board[1] / 2)) continue;
answer[1] -= 1;
break;
case "left":
if (answer[0] == -(board[0] / 2)) continue;
answer[0] -= 1;
break;
case "right":
if (answer[0] == board[0] / 2) continue;
answer[0] += 1;
break;
}
}
return answer;
}
}
{0, 0} 좌표에서 키보드의 입력에 따라 최종적으로 도착한 좌표를 출력하는 문제이다.
그런데 움직일 수 있는 맵의 범위가 주어지는데 양의 방향과 음의 방향이 존재하므로 움직일 수 있는 한계점은 맵의 크기 / 2
이다.
입력은 4가지 방향으로 구성되어있어 분기점이 많아 switch
문을 이용하였다.