인프런 커뮤니티 질문&답변
이렇게 풀어봤는데 괜찮을까요?
작성
·
240
0
안녕하세요 강의 잘보고있습니다
아래와 같이 풀어봤는데, 괜찮은지 궁금하여 질문드립니다
그리고 다른 테스트 케이스들이 예시로 있으면 더 좋을거같습니다 실제 문제풀이 사이트에서는 여러가지 케이스를 대입해서 다 통과하는지 테스트 해보는거처럼요 !
혼자 테스트하다보면 된거같다가도 나중에 반례를 찾게되고 그러네요 ㅠ
function solution(n, a) {
let max = 0;
let sum = 0;
let p2 = 0;
if (n === a.length) {
max = a.reduce((sum, currValue) => {
return sum + currValue;
}, 0);
} else {
for (let p1 = 0; p1 < a.length; p1++) {
if (p1 - p2 < n) {
sum += a[p1];
} else {
sum += a[p1];
sum -= a[p2];
p2++;
if (sum > max) max = sum;
}
}
}
return max;
}퀴즈
투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?
더 적은 메모리를 사용해서일까요?
코드가 더 짧아져서일까요?
대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?
입력 데이터 크기에 영향을 받지 않아서일까요?
답변 1
0





