거북이개발자

[인프런] 연속 부분 수열2 본문

Algorithm(JavaScript)

[인프런] 연속 부분 수열2

류정식 2021. 7. 7. 16:10

0. 제목

  • 연속 부분 수열2

 


1. 문제


2. 풀이 1차

  • 더블포인터 원리 이용해서
  • 합이 5이하인수는 그 p1, p2사이의 부분수열 갯수를 더한다.
  •  

3. 코드


function solution(m, arr) {
    let answer = 0
    var n = arr.length
    var p1 = 0;
    var p2 = 0;
    var sum = 0;

    for(p1=0; p1<n; p1++) {
        sum += arr[p1]
        while (sum >m) {
            sum -= arr[p2]
            p2++;
        }
        answer += p1 - p2 + 1;

    }



    return answer;
}

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

 

 

'Algorithm(JavaScript)' 카테고리의 다른 글

[인프런] 학급 회장(해쉬)  (5) 2021.07.07
[인프런] 연속 부분수열1  (0) 2021.07.07
[인프런] 공통원소 구하기  (0) 2021.07.06
[인프런] 두 배열 합치기  (0) 2021.07.06
[프로그래머스] 문자열 압축  (0) 2021.07.06
Comments