LeetCode[ Easy | Python ] Remove Element
업데이트:
링크
https://leetcode.com/problems/remove-element/?envType=study-plan-v2&envId=top-interview-150
풀이
정수형 배열 nums
와 정수 val
이 주어지면 nums
안의 val
을 제거해야 하는 문제.
코드
Python
속도 > 메모리
처음 시도했던 가장 아래 코드에서 메모리 소모기 상위 80%라는 결과를 보고 메모리를 덜 사용하는 쪽으로 구현해본 코드.
속도 차이는 아래코드와 큰 차이가 나는데 비해 메모리 차이는 0.1MB 차이로 미미했던 것 같다.
class Solution(object):
def removeElement(self, nums, val):
while val in nums:
del nums[nums.index(val)]
return len(nums)
메모리 < 속도
일전 문제와 같이 `nums` 안의 모든 값을 빼내고 `val`에 해당 되는 값이라면 다시 넣지 않는 형식으로 삭제를 구현했다.
속도는 보장되는듯하지만 메모리를 덜 쓸 수 있는 코드에 비해 0.1 MB 정도의 메모리를 더 소모했다.
class Solution(object):
def removeElement(self, nums, val):
stk = []
while nums:
x = nums.pop()
if x != val:
stk.append(x)
for s in stk:
nums.append(s)
return len(stk)
댓글남기기