강의

멘토링

로드맵

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

twosom님의 프로필 이미지
twosom

작성한 질문수

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

4. 연속부분수열2(Two Pointers Algorithm)

이런 식으로 짜도 괜찮은가요?

작성

·

171

0

아직은 많이 어렵게 느껴지지만 점점 발전해나가는거 같네요.

이런식으로 짜봤는데 이런식도 괜찮나요?

function solution(t, arr) {

let answer = 0;
let sum = 0;
let lt = rt = 0;

while (rt < arr.length) {
if (sum < t) {
answer++;
sum += arr[rt++];

if (arr[rt] < t) answer++;
} else if(sum > t) sum -= arr[lt++];
else if (sum === t){
answer++;
sum -= arr[lt++];
}
}
return answer;
}

console.log(solution(5, [1, 3, 1, 2, 3]));

퀴즈

45%나 틀려요. 한번 도전해보세요!

투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?

더 적은 메모리를 사용해서일까요?

코드가 더 짧아져서일까요?

대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?

입력 데이터 크기에 영향을 받지 않아서일까요?

답변 1

1

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

안녕하세요^^

반례입니다.  답은 10입니다.

console.log(solution(5, [1111]));
twosom님의 프로필 이미지
twosom

작성한 질문수

질문하기