업데이트:

최대 1 분 소요

링크

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)

카테고리:

업데이트:

댓글남기기