문자열 알고리즘 - 문자열 뒤집기 이해와 효율적인 구현 방법

반복문을 사용한 문자열 뒤집기

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

문자열의 뒤쪽에서 부터 하나하나 결과물에 더하는 방식입니다.

 

반복문 1/2 사용한 문자열 뒤집기

function reverseString(str) {
 const strArray = str.split('')
 for(let i = 0; i < str.length / 2; i++) {
  const temp = strArray[i]
  strArray[i] = strArray[strArray.length - i - 1]
  strArray[strArray.length - i - 1] = temp
 }
 return strArray.join('')
}

배열을 만들어서 처음과 끝 인덱스부터 가운데로 가면서 바꿔줍니다.

배열을 사용한 문자열 뒤집기

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

문자열을 배열로 만들고 배열 안에 있는 함수를 써서 뒤집은 다음에 문자열로 출력합니다.

 

재귀를 사용한 문자열 뒤집기

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

맨 앞쪽에 있는 글자를 뒤에 붙이면서 재귀호출하였습니다.