class Solution {
public String solution(int[] numbers, String hand) {
String ans = "";
int[][] keypad = {{3, 1},
{0, 0}, {0, 1}, {0, 2},
{1, 0}, {1, 1}, {1, 2},
{2, 0}, {2, 1}, {2, 2}};
int[] leftHand = {3, 0};
int[] rightHand = {3, 2};
for (int num : numbers) {
int[] numpos = keypad[num];
if (numpos[1] == 0) {
ans +="L";
leftHand = numpos;
} else if (numpos[1] == 2) {
ans +="R";
rightHand = numpos;
} else {
int leftdist = Math.abs(leftHand[0] - numpos[0])
+ Math.abs(leftHand[1] - numpos[1]);
int rightdist = Math.abs(rightHand[0] - numpos[0])
+ Math.abs(rightHand[1] - numpos[1]);
if(leftdist<rightdist){
ans+="L";
leftHand=numpos;
}else if(leftdist>rightdist){
ans+="R";
rightHand=numpos;
}else if(hand.equals("left")){
ans+="L";
leftHand=numpos;
}else {
ans+="R";
rightHand=numpos;
}
}
}
return ans;
}
}