Chloe Jungah Kim
Chloe Jungah Kim
A blogger who writes about everything.

[Leetcode] 27. Remove Element

https://leetcode.com/problems/remove-element/
[Leetcode] 27. Remove Element

정수로 이루어진 리스트와 정수가 하나 주어졌을 때, 주어진 리스트에서 주어진 정수를 제외한 리스트를 만드는 문제

  • in-place : 다른 리스트를 할당하지 말고 주어진 리스트 내에서 해결할 것
  • 주어진 정수를 제외한 리스트의 길이를 리턴
  • 새로운 리스트의 원소 순서는 변경될 수 있다.
  • 리턴한 길이의 뒷부분에는 리스트에 어떤 값이 있건 상관하지 않는다.

Example 1

  • Input : nums = [3, 2, 2, 3], val = 3
  • Output : length = 2, nums = [2, 2, …]

Example 2

  • Input : nums = [0, 1, 2, 2, 3, 0, 4, 2], val = 2
  • Output : length = 5, nums = [0, 1, 3, 0, 4, …]
  • nums의 첫 5개의 원소에 0, 0, 1, 3, 4가 포함되어 있으면 정답 처리

Note

  • val과 동일한 원소가 있으면 리스트에서 삭제하는 방법으로 구현
  • 리스트 내에서 순서를 바꾸는 방법도 가능
1
2
3
4
5
6
7
8
9
10
11
class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        i = 0
        length = len(nums)
        while i < length :
            if nums[i] == val :
                nums.remove(nums[i])
                length -= 1
                continue
            i += 1
        return len(nums)