문제 설명

정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.

query마다 순서대로 sie인 모든 i에 대해 ik의 배수이면 arr[i]에 1을 더합니다.

위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.

제한사항

  • 1 ≤ arr의 길이 ≤ 1,000
    • 0 ≤ arr의 원소 ≤ 1,000,000
  • 1 ≤ queries의 길이 ≤ 1,000
    • 0 ≤ s ≤ e < arr의 길이
    • 0 ≤ k ≤ 5

입출력 예

arrqueriesresult
[0, 1, 2, 4, 3][[0, 4, 1],[0, 3, 2],[0, 3, 3]][3, 2, 4, 6, 4]

풀이

function solution(arr, queries) {
    for(let i = 0; i < queries.length; i++){
        const [s, e, k] = queries[i];
        
        for(let j = s; j <= e; j++){
            if(j % k === 0){
                arr[j] += 1;
            }
        }
    }
    
    return arr;
}

느낀점

문제를 이해를 못해서 진짜 너무 힘들었다.
iarr[i] 값인 줄 알았는데, 알고보니가 index 그 자체 를 말하는 것이였다.
그리고 문제는 왜 또 잘못 읽었는지 k의 배수인데, 이유는 모르겠지만 여태 4의 배수를 찾고 있었다..

profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글