keyinput.length 만큼 반복문에서 조건문만 잘 걸어주면 해결되는 문제
주의할점은 주어진 board길이/2 에 해당하는 값까지만 움직일 수 있다는것 ( 음수 처리 신경쓰기 )
class Solution {
public int[] solution(String[] keyinput, int[] board) {
int[] answer = {0,0};
for(int i=0; i<keyinput.length; i++){
// key input = left or right-> answer[0]
if(keyinput[i].equals("left")||keyinput[i].equals("right")){
if(keyinput[i].equals("left")){
if(answer[0]>-(board[0]/2))
answer[0]--;
}else{
if(answer[0]<board[0]/2)
answer[0]++;
}
// key input = down or up -> answer[1]
}else{
if(keyinput[i].equals("down")){
if(answer[1]> -(board[1]/2))
answer[1]--;
}else{
if(answer[1]<board[1]/2)
answer[1]++;
}
}
}
return answer;
}
}
'📚 코딩테스트 > 백준 & 프로그래머스' 카테고리의 다른 글
[백준][JAVA]15829번 : Hashing (0) | 2022.12.13 |
---|---|
[백준][JAVA]2609번 : 최대공약수와 최소공배수 (0) | 2022.12.13 |
[프로그래머스][JAVA]Level 0 : 이진수 더하기 (0) | 2022.12.10 |
[프로그래머스][JAVA]Level 0 : 구슬을 나누는 경우의 수 ( *DFS, 메모이제이션 ) (0) | 2022.12.09 |
[프로그래머스][JAVA]Level 0 : 문자열 밀기 (0) | 2022.12.09 |