숫자 n을 받아서 숫자 n에 가장 가까운 회문 숫자를 반환하는 NearestPalindrome()과 같은 함수를 작성해야 합니다.
예를 들어 -
-
입력 번호가 264이면 출력은 262가 되어야 합니다.
-
입력 번호가 7834이면 출력은 7887이어야 합니다.
기본적으로 접근 방식은 숫자를 두 개의 반으로 나누고(w.r.t. 길이) 두 번 연결된 첫 번째 절반인 새 숫자를 반환하는 것입니다.
예시
const findNearestPalindrome = num => { const strNum = String(num); const half = strNum.substring(0, Math.floor(strNum.length/2)); const reversed = half.split("").reverse().join(""); const first = strNum.length % 2 === 0 ? half : strNum.substring(0, Math.ceil(strNum.length/2)) return +(first+reversed); }; console.log(findNearestPalindrome(235)); console.log(findNearestPalindrome(23534)); console.log(findNearestPalindrome(121)); console.log(findNearestPalindrome(1221)); console.log(findNearestPalindrome(45));
출력
콘솔의 출력은 -
232 23532 121 1221 44