-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
질문 드립니니다.
23.01.14 15:18 작성 조회수 220
0
const solution = (n) => {
let answer = n
const DFS = (m) => {
if (m === 0) return
else {
answer = answer * m
DFS(m - 1)
}
}
DFS(n - 1)
return answer
}
이전까지 설명해주셨던 패턴으로 풀면 위와 같이 전역변수를 설정하고, 그 값을 계속 재할당하는 코드가 나오는데,
이번 강의 예제는 끝까지 콜스택을 타고타고 타서 마지막에 할당하고 리턴하던데,
두 코드에서 개념적으로 어떤 차이점이 있는 걸까요? 그냥 단순히 패턴이 다르다고 이해하면 될까요?
답변을 작성해보세요.
0
김태원
지식공유자2023.01.15
안녕하세요^^
같은 재귀입니다. 영상의 방식은 재귀가 리턴한 값을 받아서 답을 만들어 가는 패턴이고, 위에 방식은 재귀의 매개변수 값을 전역변수에 누적하는 방식입니다. 패턴의 차이라고 생각하시면 좋겠습니다.
답변 1