-
2020 카카오 인턴십) 키패드 누르기Algorithm/프로그래머스 2022. 7. 8. 17:38
https://school.programmers.co.kr/learn/courses/30/lessons/67256?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(numbers, hand) { let answer = ""; let lp = "*"; let rp = "#"; const keyPad = [ [3, 1], [0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2], ]; function dis(a, b) { if (!isNaN(b)) { return ( Math.abs(keyPad[a][0] - keyPad[b][0]) + Math.abs(keyPad[a][1] - keyPad[b][1]) ); } else { if (b === "*") { return Math.abs(keyPad[a][0] - 3) + Math.abs(keyPad[a][1]); } else { return Math.abs(keyPad[a][0] - 3) + Math.abs(keyPad[a][1] - 2); } } } function L(x) { lp = x; answer += "L"; } function R(x) { rp = x; answer += "R"; } for (let x of numbers) { if (x === 1 || x === 4 || x === 7) L(x); else if (x === 3 || x === 6 || x === 9) R(x); else { if (dis(x, rp) < dis(x, lp)) R(x); else if (dis(x, rp) > dis(x, lp)) L(x); else { if (hand === "right") R(x); else L(x); } } } return answer; }
'Algorithm > 프로그래머스' 카테고리의 다른 글
2020 KAKAO BLIND RECRUITMENT) 문자열 압축 (0) 2022.07.15 2019 KAKAO BLIND RECRUITMENT) 실패율 (0) 2022.07.10 2021 카카오 채용연계형 인턴십) 숫자 문자열과 영단어 (0) 2022.07.08 2021 KAKAO BLIND RECRUITMENT) 신규 아이디 추천 (0) 2022.07.07 2021 Dev-Matching) 로또의 최고 순위와 최저 순위 (0) 2022.07.07