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

JavaScript를 사용하여 문자열의 알파벳 반전

<시간/>

문제

알파벳과 일부 특수 문자로 구성된 문자열 str을 받는 JavaScript 함수를 작성해야 합니다.

우리 함수는 알파벳이 아닌 모든 문자가 같은 위치에 있고 모든 문자가 위치를 반대로 하는 입력 문자열을 기반으로 새 문자열을 반환해야 합니다.

예를 들어 함수에 대한 입력이

인 경우

입력

const str = 'k_lmn_opq';

출력

const output = 'q_pon_mlk';

예시

const str = 'k_lmn_opq';
const reverseAlphabets = (str) => {
   const arr = str.split('')
   let left = 0
   let right = arr.length - 1
   const swap = (a, b) => {
      const temp = arr[a]
      arr[a] = arr[b]
      arr[b] = temp
   }
   const isLetter = (x = '') => /[a-zA-Z]/.test(x)
   while (left <= right) {
   while (!isLetter(arr[left])) {
      left += 1
      if (left > right) {
         break
      }
   }  
   while (!isLetter(arr[right])) {
      right -= 1
      if (left > right) {
         break
      }
   }
      if (left > right) {
      break
   }
      swap(left, right)
      left += 1
      right -= 1
   }
   return arr.join('')
};
console.log(reverseAlphabets(str));

출력

q_pon_mlk