[JavaScript] 문자열 역순으로 뒤집기

728x90

JavaScript에서 문자열을 역순으로 뒤집기

알고리즘에서 자주 등장하는 문자열을 뒤집는 방법에 대해 알아보자.

JS에서는 문자열 자체를 뒤집는 메서드는 존재하지 않는다.

대신 여러가지 방법으로 문자열을 뒤집을 수 있는데 각 방식을 알아보고 적용해보자.

 

1. Array로 변환해서 reverse()

JavaScript에서는 문자열을 배열로 변환한 후 배열의 메서드를 사용해 뒤집을 수 있다.

문자열을 배열로 바꾸는 과정에서 split(), reverse(), join() 메서드를 사용하면 간단하게 문자열을 뒤집을 수 있다.

아래 코드는 배열로 나누고 뒤집고 스트링으로 합치는 코드이다.

 

  • split('')로 문자열을 문자 하나하나로 쪼개 배열로 변환한다.
  • reverse()로 배열을 뒤집다.
  • join('')으로 다시 문자열로 변환한다.

 

function reverseString(str) {
  return str.split('').reverse().join(''); 
}

console.log(reverseString("hello")); // "olleh"

 

2. for 루프를 사용해 뒤집기

for 루프를 사용해 문자열을 뒤집는 방법은 문자열을 처음부터 끝까지 순회하면서 뒤에서부터 새로운 문자열에 추가하는 방식이다.

 

  • 문자열을 뒤에서부터 순회한다.
  • 각 문자를 새 문자열에 추가하여 뒤집은 문자열을 만든다.

 

function reverseString(str) {
  let reversed = '';
  for (let i = str.length - 1; i >= 0; i--) {
    reversed += str[i];
  }
  return reversed;
}

console.log(reverseString("Hi Javascript")); // "tpircsavaJ iH"

 

3. reduce() 메서드 사용하기

reduce() 메서드를 이용하면 문자열을 배열로 변환한 후 각 문자를 뒤에서부터 차례대로 추가하면서 새로운 문자열을 만들 수 있다.

 

  • split('')로 문자열을 배열로 변환한다.
  • reduce()로 각 문자를 누적하면서 뒤집힌 문자열을 생성한다.
function reverseString(str) {
  return str.split('').reduce((reversed, char) => char + reversed, '');
}

console.log(reverseString("JavaScript")); // "tpircSavaJ"

 

 

4. 재귀 함수 사용하기

재귀 함수를 이용해 문자열을 뒤집는 방법도 있다.

재귀는 코드가 간결해지는 장점이 있지만 문자열이 길어질 경우 호출 스택이 커져 성능에 영향을 줄 수 있다.

function reverseString(str) {
  if (str === "") return "";
  return reverseString(str.substr(1)) + str[0];
}

console.log(reverseString("coding")); // "gnidoc"

 

참고문헌 

 

String.prototype.split() - JavaScript | MDN

split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.

developer.mozilla.org

 

728x90

'Frontend > JavaScript' 카테고리의 다른 글

[JavaScript] 바벨과 폴리필의 개념 + 적용까지  (0) 2024.11.12
[JavaScript] 배열 비교하기  (0) 2024.11.08
JS 1급 함수 - 특징과 예시  (2) 2024.10.30
JS 스코프 개념  (0) 2024.09.11
JS Promise란?  (0) 2024.09.09