Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 문자열을 반전시키는 함수

이번 글에서는 문자열을 입력받아 원본 문자열을 거꾸로 뒤집은 새로운 문자열을 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.

문제의 조건

이 문제에는 두 가지 중요한 제약 조건이 있습니다.

첫째, reverse(), split() 등과 같은 내장 String 메서드를 사용할 수 없습니다.

둘째, 성능상 흔히 쓰이는 방식인 문자열을 배열로 변환한 후 뒤집는 방법도 허용되지 않습니다.

따라서 우리는 반복문(loop)을 활용하여 문자열을 한 글자씩 순회하면서, 새로운 뒤집힌 문자열을 직접 만들어야 합니다.

구현 아이디어

핵심 로직은 간단합니다. 문자열의 각 문자를 앞에서부터 하나씩 읽으면서, 결과 문자열의 앞부분에 계속 추가하는 방식입니다. 이렇게 하면 마지막 문자가 가장 앞에 오게 되어 자연스럽게 문자열이 반전됩니다.

예제 코드

const str = 'Hello World';
const reverse = (str = '') => {
    const { length } = str;
    let res = '';
    for(let i = 0; i < length; i++){
        const el = str[i];
        res = el + res;
    };
    return res;
};
console.log(reverse(str))

코드 설명

  • const { length } = str; — 구조 분해 할당으로 문자열의 길이를 미리 구해 둡니다.
  • res = el + res; — 현재 문자를 결과 문자열 앞에 붙여 나가며 역순으로 재구성합니다.
  • 모든 문자를 순회한 후 완성된 res를 반환합니다.

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

dlroW olleH

마무리

이처럼 내장 메서드나 배열 변환 없이도 단순한 반복문만으로 문자열을 손쉽게 반전시킬 수 있습니다. 이 접근 방식은 코딩 테스트나 면접에서 자주 등장하는 기본적인 문자열 처리 문제이므로, 로직을 잘 이해해 두면 큰 도움이 됩니다.