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

je님의 프로필 이미지
je

작성한 질문수

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

14. 조합 구하기(중요)

다른 방식으로 풀었는데 이 풀이도 성능이 괜찮을까요?

작성

·

169

0

function solution(n, m) {
  const answer = [];

  const DFS = (num, combination) => {
    if (combination.length === m) {
      answer.push(combination.slice());
      return;
    }

    if (num > n) return;

    DFS(num + 1, [...combination, num]);
    DFS(num + 1, [...combination]);
  };

  DFS(1, []);

  return answer;
}

console.log(solution(4, 2));

이전에 배웠던 방식처럼 해당 수를 포함하는 경우와 포함하지 않는 경우로 DFS를 호출하고 combination 배열이 길이가 m이면 answer에 push하도록 했습니다.

이 방식으로 풀어도 정답 코드와 성능이 크게 다르지 않을까요?

답변 1

1

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

안녕하세요^^

네. 성능상에 차이는 없어보입니다. 하지만 조합을 구하는 방법은 영상의 방법으로 하시기를 추천합니다.

앞으로 고난도 문제를 풀때 영상의 방법이 더 좋을 겁니다.

je님의 프로필 이미지
je

작성한 질문수

질문하기