문제
알파벳과 일부 특수 문자로 구성된 문자열 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