티스토리 뷰
반응형
문제
N개의 숫자로 이루어진 수열이 있습니다.
연속 부분 수열의 합이 M 이하가 되는 경우가 몇 번인지 출력하시오.
입력 예제
6 4
1 3 1 1 2 1
출력 예제
13
풀이
function solution(n, m, a) {
let answer = lt = rt = sum = 0;
for (let rt = 0; rt < a.length; rt++) {
// 자기 자신
sum += a[rt];
// sum이 m보다 커졌을 때, lt 값 빼고 lt++
while(sum > m) {
sum -= a[lt++];
}
answer += (rt - lt + 1);
}
return answer;
}
반응형
'Data Structure & Algorithm' 카테고리의 다른 글
[알고리즘-JS] 해시 - 학급 회장 투표 결과 (0) | 2022.05.03 |
---|---|
[알고리즘-JS] 슬라이딩 윈도 (Sliding Window) - 연속 최대 매출 (0) | 2022.05.03 |
[알고리즘-JS] 투 포인터 - 연속 부분 수열 합 구하기 (0) | 2022.05.03 |
[알고리즘-JS] 숫자 뒤집고 소수 찾기 (0) | 2022.05.03 |
[알고리즘-JS] 투포인터 - 두 배열 합치기 (0) | 2022.05.03 |