인프런 커뮤니티 질문&답변

ML님의 프로필 이미지
ML

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

1. 재귀함수와 스택프레임(중요)

문제 풀이 스타일 관련하여 질문드립니다.

작성

·

267

0

function solution(n) {
  let answer

  if (n > 1) answer = [...solution(n - 1), n]
  else answer = [n]

  return answer
}

console.log(solution(3))

안녕하세요.

해당 문제 풀이 관련하여 2가지 질문이 있습니다.

1. 강의에서는 DFS 이너함수를 선언하여 한 단계의 뎁스를 두고 재귀호출 하여 푸셨는데,

위의 풀이처럼 solution 함수자체를 재귀호출하는 경우 조심해야할 엣지케이스나 지양해야 할 이유가 있을까요?

 

2. 강의 예제에서는 DFS 함수 내부에서 console.log로 출력하는 방식으로 출력하셨는데,

해당 출력예제 같은 경우 일반적으로 배열타입을 아웃풋으로 가지던데, js 콜스택을 설명하기 위하여 그러신건지, 아니면 다른 이유가 있으신지 궁금합니다.

 

감사합니다.

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

  1. solution 함수를 재귀로 하기 보다는 DFS 재귀함수를 따로 만드시는 것을 추천합니다.

  2. 재귀함수와 콜스택을 설명하기 위해서 그렇게 했습니다.

ML님의 프로필 이미지
ML

작성한 질문수

질문하기