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

JavaScript에서 각 문자를 인접 문자로 변경하여 회문 생성

<시간/>

문제

문자열을 받는 JavaScript 함수를 작성해야 합니다. 우리 함수는 문자열에 대해 다음 작업을 수행할 수 있습니다. -

  • 각 문자는 알파벳 앞 또는 뒤에 있는 문자로 변경되어야 합니다.
  • "a"는 "b"로, "z"는 "y"로만 변경할 수 있습니다.

이러한 작업의 결과 중 적어도 하나가 회문이면 함수는 True를 반환하고 그렇지 않으면 False를 반환해야 합니다.

예시

다음은 코드입니다 -

const str = 'adfa';
const canFormPalindrome = (str = '') => {
   const middle = str.length / 2;
   for(let i = 0; i < middle; i++){
      const first = str[i].charCodeAt()
      const last = str[str.length - (i + 1)].charCodeAt()
      const distance = Math.abs(last - first)
      if(distance > 2 || distance === 1){
         return false;
      };
   };
   return true;
};
console.log(canFormPalindrome(str));

출력

다음은 콘솔 출력입니다 -

true