Algorithm

LeetCode 303. Range Sum Query - Immutable

KANG_G1 2023. 2. 22. 11:32

정수 배열 번호가 지정된 경우 다음 유형의 여러 쿼리를 처리합니다.
왼쪽 <= 오른쪽인 경우를 포함하여 왼쪽과 오른쪽 인덱스 사이의 num 요소의 합을 계산합니다.

 

 

NumArray 클래스 구현 문제였다.

 

생성자 함수에서 this를 사용한 변수는 public 변수가 되어 인스턴스가 자유롭게 접근 가능하다.

해당 배열 인자로 넘어온 nums를 this.nums라는 변수로 할당해주고

sunRange에는 nums 배열의 idx 사이의 sum을 구하는 코드 작성으로 해결할 수 있었다.

 

/**
 * @param {number[]} nums
 */
var NumArray = function(nums) {
    this.nums = nums; // public 변수 설정
};

/** 
 * @param {number} left 
 * @param {number} right
 * @return {number}
 */
NumArray.prototype.sumRange = function(left, right) {
    let result;
    for(let i = left; i<=right; i++) {
        result += this.nums[i];
    }
    return result;
};

/** 
 * Your NumArray object will be instantiated and called as such:
 * var obj = new NumArray(nums)
 * var param_1 = obj.sumRange(left,right)
 */