

내가 푼 답
public String solution(int[] numbers, String hand) {
String answer = "";
int leftPosition = 10;
int rightPosition = 12;
for(int number : numbers) {
if(number==0) {
number = 11;
}
switch (number%3) {
case 0 : {
answer += "R";
rightPosition = number;
break;
}
case 1 : {
answer += "L";
leftPosition = number;
break;
}
case 2 : {
int leftSteps = Math.abs(leftPosition-number) / 3;
leftSteps += Math.abs(leftPosition-number) % 3;
int rightSteps = Math.abs(rightPosition-number) / 3;
rightSteps += Math.abs(rightPosition-number) % 3;
if(rightSteps > leftSteps) {
answer += "L";
leftPosition = number;
} else if(rightSteps < leftSteps) {
answer += "R";
rightPosition = number;
} else {
if(hand.equals("right")) {
answer += "R";
rightPosition = number;
} else {
answer += "L";
leftPosition = number;
}
}
break;
}
}
}
return answer;
}
'알고리즘 테스트' 카테고리의 다른 글
| [프로그래머스] 서울에서 김서방 찾기 (0) | 2020.12.10 |
|---|---|
| [프로그래머스] 문자열 다루기 기본 (0) | 2020.12.10 |
| [프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2020.12.08 |
| [프로그래머스] 문자열 내 p와 y의 개수 (0) | 2020.12.08 |
| [프로그래머스] 두 정수 사이의 합 (0) | 2020.12.08 |