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

용용님의 프로필 이미지
용용

작성한 질문수

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

6. 바둑이 승차(이진트리 DFS)

문제 질문 있습니다!

해결된 질문

작성

·

177

0

해당 문제를 정답 코드(DFS)로 풀게 되면 밑에 질문의 답변에서 봤는데 시간 복잡도는 O(2^N) 인가요?? 그럼 이중for문을 사용하면 시간 복잡도는 O(n^2) 으로 알고 있는데  두 갈래로 뻗어가는 나중에 이런 문제는 이중for문을 사용하는 게 그럼 더 나은 방식인 건가요?

예시 코드입니다

function solution(c, arr) {
  let answer = Number.MIN_SAFE_INTEGER;
  const n = arr.length;

  for (let i = 0; i < n; i++) {
    let sum = 0;
    for (let j = 0; j < n; j++) {
      if (i === j) continue;
      sum += arr[j];
    }
    if (sum <= c) {
      answer = Math.max(answer, sum);
    }
  }

  return answer;
}

let arr = [81, 58, 42, 33, 61];
console.log(solution(259, arr));

답변 1

0

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

안녕하세요^^

이중 for문으로 이문제를 풀 수 없습니다. 

다른 입력예를 만들어서 확인해보세요.

용용님의 프로필 이미지
용용

작성한 질문수

질문하기