Recursion - 재귀

송철진·2023년 2월 15일
0

코드카타

목록 보기
7/11

코드카타 week 5_day 3

재귀(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'
profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글