코드카타 #15

문제

재귀를 사용하여 팩토리얼factorial을 구하는 함수를 구현해주세요. 팩토리얼이란 1에서부터 n까지의 정수를 모두 곱한것을 말합니다.

예시)

1! = 1
2! = 1 * 2
5! = 1 * 2 * 3 * 4 * 5

풀이

const factorial = n => {
  if (n === 0) {
    return 1
  }
  return n * factorial( n - 1)
}

풀이 과정

  • 조건문으로 n이 0이 되면 더이상 재귀를 이어나가지 않게 1을 반환하게 합니다
  • 조건문 밖에서 nfactorial( n - 1) 을 곱해 반환해 줍니다.

회고

재귀함수를 오늘 처음 접하게 되어서 어떻게 해야할지 감을 전혀 못잡았었는데
예시 문제들을 풀다보니 조금씩 이해가 되어서 다행이라는 생각이 들었다.
아직 부족하지만 조금더 공부해서 다음 알고리즘에 써보도록 해야겠다.

좋은 웹페이지 즐겨찾기