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
'기술(Tech, IT) > 리트코드(LeetCode)' 카테고리의 다른 글
[LeetCode] 88. Merge Sorted Array (0) | 2023.08.08 |
---|---|
[LeetCode] 27. Remove Element (0) | 2023.08.07 |
[LeetCode] 50. Pow(x, n) (0) | 2023.08.05 |
[LeetCode] 1244. Design A Leaderboard (0) | 2023.08.02 |
[LeetCode] 1229. Meeting Scheduler (0) | 2023.08.01 |