-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path67256.js
36 lines (34 loc) · 1.17 KB
/
67256.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function solution(numbers, hand) {
var answer = '';
var left = [1,4,7];
var right=[3,6,9];
var currentLeft = [3,0];
var currentRight = [3,2];
for(var i=0; i<numbers.length; i++){
if(left.includes(numbers[i])){
answer=answer+'L';
var row = Math.floor(numbers[i]/3);
currentLeft=[row,0];
}
else if(right.includes(numbers[i])){
answer=answer+'R';
var row = Math.floor(numbers[i]/3)-1;
currentRight=[row,2];
}
else{
var row = Math.floor(numbers[i]/3);
if(numbers[i]===0) row = 3;
var leftDist = Math.abs(row-currentLeft[0])+Math.abs(1-currentLeft[1]);
var rightDist = Math.abs(row-currentRight[0])+Math.abs(1-currentRight[1]);
if(leftDist<rightDist||(leftDist===rightDist&&hand==="left")){
answer=answer+'L';
currentLeft=[row,1];
}
else if(leftDist>rightDist||(leftDist===rightDist&&hand==="right")){
answer=answer+'R';
currentRight=[row,1];
}
}
}
return answer;
}