728x90
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번째 인자가 배열이 되는지도 몰랐다 공식문서를 봤는데 ㅠㅠ다음에는 조금 더 살펴보자 !!
728x90
'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 |
댓글