코린이의 소소한 공부노트

[프로그래머스/Lv.0] 캐릭터의 좌표 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.0] 캐릭터의 좌표

무지맘 2022. 11. 2. 11:01

1. Input

1) 머쓱이가 입력한 방향키의 문자열 배열 keyinput

2) 맵의 크기 정수 배열 board

 

2. Output

1) 키 입력이 모두 끝난 뒤에 캐릭터의 좌표를 나타내는 정수 배열

2) (0,0)board의 정 중앙이다. 예를 들어 board의 가로 크기가 9라면 왼쪽으로 최대 4까지, 오른쪽으로 최대 +4까지 이동 가능하다.

 

3. Constraint

1) board{가로 크기, 세로 크기} 형태

2) board의 가로 크기와 세로 크기는 홀수

3) board의 크기를 벗어난 방향키 입력은 무시

4) 0 keyinput의 길이 50

5) 1 board[0] 99

6) 1 board[1] 99

7) keyinputup, down, left, right로만 이루어져 있음

  

4. Example

Input: keyinput={up,up,up,up,up}, board={7,7} -> Output: {0,3}

설명: up 5번이면 {0,5}여야하지만 맵의 세로가 7이므로 위로는 3칸까지만 이동이 가능하다.

 

5. Code

1) 첫 코드(2022/10/26)

int[] answer = new int[2];
for(int i=0 ; i<keyinput.length ; i++){
    if(keyinput[i].equals("up"))
        if(answer[1] < board[1]/2) answer[1]++;
        
    else if(keyinput[i].equals("down"))
        if(answer[1] > board[1]/(-2)) answer[1]--;
        
    else if(keyinput[i].equals("right"))
        if(answer[0] < board[0]/2) answer[0]++;
    
    else
        if(answer[0] > board[0]/(-2)) answer[0]--;
    } // end of for
return answer;