문제 링크 : https://leetcode.com/problems/remove-duplicates-from-sorted-array/
ㅁ중복되는 수를 제거하여 주어진 배열을 바꾸는 문제입니다.
문제에서 새 배열을 만들지 말고 O(1)로 푸는 것을 권장하였습니다.
처음에는 그냥 탐색해서 제거하는 방식을 생각하였는데
같지 않은 수를 발견하였을때 swap한 수만 카운트하는 방식이 있다는 것을 알았다.
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
if len(nums) == 0:
return False
i = 0
for j in range(1,len(nums)):
if nums[i] != nums[j]:
i += 1
nums[j], nums[i] = nums[i], nums[j]
return i+1