해결된 질문
작성
·
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));