각 버튼이 주어졌을 때 누르는 손가락 구하기
147
은 왼손, 369
는 오른손2580
은 나오면 더 가까운 손let left
if ((1, 4, 7)) {
return 왼
} else if (369) {
return 오
} else {
// 어느 손으로 할지 구하기
}
function solution(numbers, hand) {
let left = 10
let right = 12
const getDist = (a, b) => {
const n = Math.abs(a - b)
return parseInt(n / 3) + (n % 3)
}
const isLeft = (n) => {
switch (n % 3) {
case 0:
return false
case 1:
return true
case 2:
const dists = [getDist(left, n), getDist(right, n)]
if (dists[0] === dists[1]) {
return hand === 'left' ? true : false
} else {
return dists[0] < dists[1] ? true : false
}
}
}
return numbers
.map((n) => (n === 0 ? 11 : n))
.map((n) => {
if (isLeft(n)) {
left = n
return 'L'
} else {
right = n
return 'R'
}
})
.join('')
}