반응형
Problem
- 이 문제는 누적 합을 구하는 문제에용
시원하게 생각나는대로 풀어버린 나의 풀이
class Solution:
def runningSum(self, nums: List[int]) -> List[int]:
return[sum(nums[:idx+1]) for idx,n in enumerate(nums)]
다른 코드들에 비해 런타임이 길고 메모리사용량이 높아서 너무 궁금해서 다른 풀이 두가지를 찾아보았다
평균적인 런타임 수치의 풀이
class Solution:
def runningSum(self, nums: List[int]) -> List[int]:
return list(accumulate(nums))
itertools 에 있는 accumulate를 이용하여 값을 뽑았다 !
누적합을 구해주는 굉장히 유용한 기능인듯 하다.
상위 런타임 수치의 풀이
class Solution:
def runningSum(self, nums: List[int]) -> List[int]:
for i in range(1,len(nums)):
nums[i] += nums[i-1]
return nums
첫번째 값은 상관이 없는 점과 이전 index를 이용하여 누적합을 하는 생각을 하는 코드이다
- 자주자주 풀고 공부하며 잘 자고있는 뇌를 깨우자!
반응형
'Python > algorithm' 카테고리의 다른 글
[Leetcode] 1470. Shuffle the Array (1) | 2022.12.21 |
---|---|
[Leetcode] 2011. Final Value of Variable After Performing Operations (1) | 2022.12.20 |
[leetcode] 1108. Defanging an IP Address (2) | 2022.12.19 |
그룹단어체커 [22.09.04] (0) | 2022.09.04 |
커트라인 [22.09.04] (0) | 2022.09.04 |