재귀(Recursion)
이전에 재귀에 대해 이미 배운바 있습니다.
오늘은 재귀를 사용해서 문제를 풀어주세요.str 이라는 'string'을 넘겨주면 글자순서를 바꿔서 return해주세요.
reverse 메서드 사용은 당연히 금지입니다!input: 'hello' output: 'olleh'
const reverseString = str => {
if(str.length === 1) return str
return str[str.length-1] + reverseString(str.slice(0, str.length-1))
}
console.log(reverseString('hw'))
예) str = 'hello'
str[4] + reverseString(str.slice(0, 4))
= 'o' + reverseString('hell')
= 'o' + 'hell'[3] + reverseString('hell'.slice(0,3))
= 'o' + 'l' + reverseString('hel')
= 'ol' + 'hel'[2] + reverseString('hel'.slice(0,2))
= 'ol' + 'l' + reverseString('he')
= 'oll' + 'he'[1] + reverseString('he'.slice(0,1))
= 'oll' + 'e' + reverseString('h')
= 'olle' + 'h'
= 'olleh'