알고리즘 문제풀이

프로그래머스 - 연속된 부분 수열의 합

승큐니 2023. 12. 2. 16:37

프로그래머스 - 연속된 부분 수열의 합

정답코드

function solution(sequence, k) {
    const answer = [0,1000000];
    let start = 0;
    let end = 0;
    let sum = sequence[0];
    
    while(end < sequence.length){
        if(sum === k){
            if(end - start < answer[1] - answer[0]){
                answer[0] = start;
                answer[1] = end;
            }
            sum -= sequence[start]
            start++;
            end++;
            sum += sequence[end];
        } else if (sum < k){
            end++;
            sum += sequence[end];
        } else if (sum > k){
            sum -= sequence[start]
            start++;
        }
    }
    
    return answer;
}