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

JavaScript for 루프를 활용한 문자열 반전 방법

JavaScript에서는 문자열을 인자로 받아 for 루프를 사용해 역순으로 된 새로운 문자열을 만드는 함수를 작성할 수 있습니다. 이 방법은 내장 메서드에 의존하지 않고 문자열의 각 문자를 끝에서부터 앞으로 순회하며 새 문자열에 하나씩 추가하는 원리입니다.

동작 원리

먼저 입력받은 문자열의 길이를 구한 뒤, 마지막 인덱스(len - 1)부터 시작해 0까지 거꾸로 반복하면서 각 위치의 문자를 결과 변수에 이어 붙입니다. 모든 반복이 끝나면 완성된 역순 문자열을 반환합니다.

예제 코드

다음은 실제 동작하는 코드입니다.

const str = 'this is the original string';

const reverseString = (str = '') => {
  let reverse = '';
  const { length: len } = str;
  for (let i = len - 1; i >= 0; i--) {
    reverse += str[i];
  }
  return reverse;
};

console.log(reverseString(str));

실행 결과

위 코드를 실행하면 콘솔에 다음과 같이 출력됩니다.

gnirts lanigiro eht si siht

코드 설명

  • 구조 분해 할당: const { length: len } = str;을 통해 문자열의 길이를 len 변수에 담습니다.
  • 역방향 반복: i = len - 1에서 시작해 i >= 0 조건까지 감소하며 순회합니다.
  • 문자 누적: reverse += str[i];로 각 문자를 순서대로 덧붙여 최종적으로 뒤집힌 문자열을 얻습니다.

이 접근 방식은 시간 복잡도가 O(n)으로, 문자열의 길이에 비례해 처리되므로 대부분의 경우 효율적으로 동작합니다.