인프런 커뮤니티 질문&답변
연속 부분수열1
작성
·
247
0
안녕하세요 선생님.
이렇게 코드를 작성한 경우, 선생님께서 설명해주신 코드보다 시간복잡도에서 차이가 클까요?
function solution(m, arr){
let n = arr.length;
let p1 = p2 = 0;
let answer = 0;
while (p2 < n){
let sum = arr.slice(p1, p2+1).reduce((a,b)=>a+b, 0);
if( sum < m ){
p2++;
} else if(sum > m){
p1++;
} else{
answer ++;
p1++;
}
}
return answer;
}
퀴즈
45%나 틀려요. 한번 도전해보세요!
투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?
더 적은 메모리를 사용해서일까요?
코드가 더 짧아져서일까요?
대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?
입력 데이터 크기에 영향을 받지 않아서일까요?





