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 |