재귀함수로 문자열 뒤집기
반응형
문자열을 입력받아 거꾸로 뒤집어 반환하는 함수 만들기
function reverse(str) {
// 입력된 문자열이 빈 문자열인 경우
if (str === '') {
return '';
}
// 문자열의 첫 번째 문자와 나머지 문자열을 분리
const firstChar = str[0];
const restChars = str.slice(1);
// 나머지 문자열을 거꾸로 뒤집은 결과와 첫 번째 문자를 연결하여 반환
return reverse(restChars) + firstChar;
}
console.log(reverse('hello') //olleh
1. function reverse(str) : 입력된 문자열을 거꾸로 뒤집어 반환하는 재귀 함수 reverse의 선언부입니다. str 매개변수는 입력된 문자열을 받습니다.
2. if (str === '') { return ''; } : 입력된 문자열이 빈 문자열인 경우, 즉, 더 이상 분리할 문자가 없을 경우 함수 실행을 종료하고 빈 문자열('')을 반환합니다.
3. const firstChar = str[0]; : 문자열 str의 첫 번째 문자(str[0])를 추출하여 firstChar 변수에 할당합니다.
4. const restChars = str.slice(1); : 문자열 str에서 첫 번째 문자를 제외한 나머지 문자열을 추출하여 restChars 변수에 할당합니다. String.prototype.slice() 메서드는 매개변수로 전달된 인덱스(1)부터 시작하는 문자열을 추출합니다.
5. return reverse(restChars) + firstChar; : 재귀적으로 문자열을 분리하고 거꾸로 뒤집은 결과를 연결함으로써 입력된 문자열을 거꾸로 뒤집어 반환합니다. reverse(restChars)는 문자열 restChars를 뒤집은 결과를 반환하므로, reverse(restChars) + firstChar는 문자열 str을 거꾸로 뒤집은 결과를 반환합니다.
console.log('hello'.split('').reverse().join('')) // olleh
자바스크립트 내장 함수 split, reverse, join을 사용하여 구현도 가능합니다.
반응형
'Programming > 알고리즘' 카테고리의 다른 글
선형 검색 - LinearSearch (0) | 2023.04.01 |
---|---|
문자열 검색 (0) | 2023.03.31 |
피보나치 수열 (0) | 2023.03.25 |
재귀함수로 팩토리얼 구하기 (0) | 2023.03.23 |
최댓값 만들기2 (0) | 2023.03.13 |
댓글