본문 바로가기
LeetCode

1480. Running Sum of 1d Array

by 싼쵸 2022. 5. 17.
반응형

3번째로 풀이 했던 문제다 ㅋㅋ

문제

문제 이미지

설명 

nums 인자들은 차례 차례 하나씩 플러스 하면서, 플러스 한 결과 한 값을 결과 배열에 하나씩 담아주면 된다.

어떻게 보면 피보나치 수열과 거의 동일하다고 생각이 된다. 기억이 희미하지만, 문제푸는 데 이때는 거의 40분씩 걸렸으니까 쉽지 않게 풀었을 것 같다.

내 예전 풀이

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var runningSum = function(nums) {
    let sum = 0;
    let res = [];
    for(let i = 0; i < nums.length; i++){
        sum += nums[i];
        res[i] = sum;
    }
 
    return res;
};

결과 값을 위한 sum 변수 선언, 그리고 res 결과값을 담기위한 배열 선언

그리고 for반복문을 수행하면서 인자 값을 하나씩 더하고, i 가 0부터 시작한다. 그래서 i 를 인덱스 번호로도 활용을 한다.

내 현재 풀이 

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var runningSum = function(nums) {
    let res = []
    let sum = 0
 for(let i in nums){
     sum+=nums[i];
     res[i]=sum
 }
    return res
};

고민을 했는데, 고민하다가 잘 생각이 나지 않아서 결국 그냥 다른 for을 사용해서 풀이했다.

다른 사람 풀이

const runningSum = nums => {
    nums.reduce((a,c,i,arr) => arr[i] += a)
    return nums
}

사실 나도 이번에 풀 때 reduce를 써서 해보려고 했는데, 결과적으로 실패했다. a=> 누산기를 어떻게 배열에 담을 까 고민하다 실패했는데, 아쉽지만 내가 생각이 부족했다. ㅠㅠ reduce의 4번째 인자가 배열이 되는지도 몰랐다 공식문서를 봤는데 ㅠㅠ다음에는 조금 더 살펴보자 !!

 

반응형

'LeetCode' 카테고리의 다른 글

1512. Number of Good Pairs  (0) 2022.05.28
1672. Richest Customer Wealth  (0) 2022.05.26
2011. Final Value of Variable After Performing Operations  (0) 2022.05.25
1920. Build Array from Permutation  (0) 2022.05.16
1929. Concatenation of Array  (0) 2022.03.20

댓글