import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
class Solution {
public String solution(int[] numbers, String hand) {
String answer = "";
int[] left = new int[]{1,4,7};
int[] right = new int[]{3,6,9};
int tempLeft = 10;
int tempRight = 12;
for (int i=0; i< numbers.length; i++) {
if(numbers[i] == 0) numbers[i] = 11;
}
for (int num : numbers) {
if(Arrays.stream(left).anyMatch(le -> le == num)) {
answer+="L";
tempLeft = num; //4 마지막에 누른 위치
}else if(Arrays.stream(right).anyMatch(r -> r == num)) {
answer+="R";
tempRight = num; //3 마지막에 누른 위치
}else {
int le = Math.abs(num-tempLeft) / 3 + Math.abs(num-tempLeft) % 3;
int ri =Math.abs(num-tempRight) / 3 + Math.abs(num-tempRight) % 3;
if(le > ri) {
answer+="R";
tempRight = num;
}else if(le < ri) {
answer+="L";
tempLeft = num;
}else { // 거리가 같은 경우
if(hand.equals("left")) {
answer+="L";
tempLeft = num;
}else {
answer+="R";
tempRight = num;
}
}
}
}
return answer;
}
}
댓글