기술(Tech, IT)/리트코드(LeetCode)

[LeetCode] 26. Remove Duplicates from Sorted Array

Daniel803 2023. 8. 6. 02:33

 in-place 즉, input으로 주어진 nums의 값을 변경해야하는 것이 중요한 포인트 중 하나다. unique한 element를 집어주는 index (i)가 필요하고, 전제 nums에서 어디까지 진행했는지를 추적해주는 또 다른 index (j)를 두고 nums의 길이만큼 반복문을 실행하면 어렵지 않게 구현이 가능하다.

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if not nums:
            return 0
        
        i = 0
        for j in range(1, len(nums)):
            print(i, j, nums[i], nums[j], nums)
            if nums[j] != nums[i]:
                i += 1
                nums[i] = nums[j]
            
                
        return i + 1