Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 가장 가까운 회문

<시간/>

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