Search

Remove Element

문제 설명 : Array 내부에 지정된 값을 제거
풀이 방법
In-Place로 푸는 문제이며, 투 포인터를 활용하였다.
val 값을 맨 뒤로 보낸 후, 가장 마지막 요소에 val 값이 없을 때까지 pop 처리한다.
시간 복잡도 : O(N)O(N)
성공 코드
class Solution: def removeElement(self, nums: List[int], val: int) -> int: left, right = 0, len(nums) - 1 # val 값이 없는 위치까지 우측 커서 이동 while right >= 0 and nums[right] == val: right -= 1 # val 값을 맨 뒤로 swap while left < right: if nums[left] == val: nums[left], nums[right] = nums[right], nums[left] right -= 1 else: left += 1 # val 값이 없어질 때까지 pop while nums and nums[-1] == val: nums.pop()
Python
복사