숫자 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