인프런 커뮤니티 질문&답변
제가 짠 코드 질문드립니다.
작성
·
230
0
처음에 2중반복으로 풀고 강사님이 풀이해주실때 뜨끔하고 풀어본 코드입니다. 투포인터로 풀어봤는데 혹시 문제가 될만한 사항 있을까요...?
function solution(arr, k) {
let answer = Number.MIN_SAFE_INTEGER, sum = 0, lt = 0;
for (let rt = 0; rt < arr.length; rt++) {
sum += arr[rt];
if (rt === k) {
sum -= arr[lt++];
k++;
}
answer = Math.max(sum, answer);
}
return answer;
}
input = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15];
console.log(solution(input, 3));
퀴즈
투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?
더 적은 메모리를 사용해서일까요?
코드가 더 짧아져서일까요?
대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?
입력 데이터 크기에 영향을 받지 않아서일까요?





