•
문제 설명 : Array 내부에 지정된 값을 제거
•
풀이 방법
◦
In-Place로 푸는 문제이며, 투 포인터를 활용하였다.
◦
val 값을 맨 뒤로 보낸 후, 가장 마지막 요소에 val 값이 없을 때까지 pop 처리한다.
•
시간 복잡도 :
•
성공 코드
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
복사