Algorithm/Javascript

[프로그래머스] 230729 코딩테스트 연습

보라해바라기 2023. 7. 9. 22:50
SMALL

1. 수열과 구간 쿼리 4

function solution(arr, queries) {
    var answer = [];
    var idx_arr = []; // 인덱스 범위 구하기
    var filteredArray = []; // 필터된 인덱스 배열
    
    for (let i = 0; i <queries.length; i++) {
        const [s, e, k] = queries[i];
        if (arr.length>e && e>=s && s>=0) { // s, e 값에 대한 제한사항
            for ( let j = s; j<= e-s; j++) { // 인덱스 범위 구하기
                idx_arr.push(j); 
            }

            // k의 배수인 i값 찾기
            filteredArray = idx_arr.filter (num => (num%k == 0))
            // ** 처음에 k 제약사항을 넣었더니 오류 발생 > 지워줌.
           
            filteredArray.forEach( data => {
                arr[data] ++;
            })
        
            answer = arr;
            idx_arr=[];
            
        }   
    }
    
    return answer;
}

 

 

728x90