문제 분석 주어진 키 입력에 따라 RPG 게임 캐릭터가 이동하는 문제였다. 캐릭터는 [0, 0]에서 시작하고, 주어진 keyinput 배열에 따라 좌표를 이동한다. 이 문제에서 주의할 점은 주어진 맵의 크기를 벗어나지 않도록 이동 범위를 제한해야 했다.

class Solution {
    public int[] solution(String[] keyinput, int[] board) {
        int x = 0, y = 0;
        
        // keyinput 배열에 따라 좌표 이동
        for(String key : keyinput){
            switch(key){
                case "right":
                    if(x < board[0]/2) x++;  // 오른쪽으로 이동
                    break;
                case "left":
                    if(x > -board[0]/2) x--;  // 왼쪽으로 이동
                    break;
                case "up":
                    if(y < board[1]/2) y++;  // 위쪽으로 이동
                    break;
                case "down":
                    if(y > -board[1]/2) y--;  // 아래쪽으로 이동
                    break;
            }   
        }
        
        // 결과 좌표 반환
        return new int[]{x, y};
    }
}

문제 풀이 - keyinput 배열에 주어진 키를 처리하기 위해 switch문을 사용했다. 각 방향에 맞게 x, y 좌표를 조정했다. - x와 y는 캐릭터의 현재 좌표로, 각 방향에 따라 1씩 증가하거나 감소했다. - 이동할 때마다 맵을 벗어나지 않도록, 좌표 범위가 주어진 맵의 크기를 초과하지 않도록 조건을 추가했다. 예를 들어, right 방향으로 이동할 때는 x가 board[0]/2를 넘지 않도록 했다. 정리 이 문제는 switch문을 사용해 각 방향키 입력을 처리하고, 맵 범위 내에서만 이동을 허용하는 문제였다. 범위를 벗어나지 않도록 조건을 추가하는 부분만 신경 썼고, 그 외에는 간단하게 구현할 수 있었다.