(프로그래머스) 키패드 누르기
10546 단어 프로그래머스JavaScriptlevel1JavaScript
#### 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/67256
내 코드(Javascript)
function solution(numbers, hand) {
let answer = '';
const keyPad = {
1: [0,0],
2: [0,1],
3: [0,2],
4: [1,0],
5: [1,1],
6: [1,2],
7: [2,0],
8: [2,1],
9: [2,2],
'*':[3,0],
0: [3,1],
'#':[3,2],
}
let leftPox = keyPad['*']
let rightPox = keyPad['#']
function setLeft(n) {
answer += 'L'
leftPox = keyPad[n]
}
function setRight(n) {
answer += 'R'
rightPox = keyPad[n]
}
for (let n of numbers) {
let [ x, y ] = keyPad[n]
if (y === 0) setLeft(n)
if (y === 2) setRight(n)
if (y === 1) {
disLeft = Math.abs(x-leftPox[0]) + Math.abs(y-leftPox[1])
disRight = Math.abs(x-rightPox[0]) + Math.abs(y-rightPox[1])
if (disLeft < disRight || (disLeft === disRight && hand === 'left')) setLeft(n)
if (disLeft > disRight || (disLeft === disRight && hand === 'right')) setRight(n)
}
}
return answer;
}
Author And Source
이 문제에 관하여((프로그래머스) 키패드 누르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoojiwon/프로그래머스-키패드-누르기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)