728x90
반응형
문제 링크
https://leetcode.com/problems/remove-duplicates-from-sorted-array
투 포인터 문제라고도 볼 수 있겠네요.
제 코드에서 보면, i 는 현재 위치, j 는 다음 위치를 의미하고, 각각 초기값은 0 과 1입니다.
그리고 만일 현재 위치와 다음 위치의 값이 일치하면, 다음 위치에 해당하는 값은 중복이라는 뜻으로 다음 위치를 하나 더 증가시키는 것이고, 일치하지 않는다면, 다음 위치의 값을 현재 + 1 위치에 복사하는 것이죠.
소스 코드는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
if len(nums) == 1:
return 1
i = 0
j = 1
while j < len(nums):
if nums[i] != nums[j]:
nums[i + 1] = nums[j]
i += 1
j += 1
return i + 1
|
cs |
저작권 라이선스: CC BY (출처만 표시하면 자유롭게 이용 가능)
728x90
반응형
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 27. Remove Element 파이썬(Python) 풀이 (0) | 2023.11.27 |
---|---|
[LeetCode] 88. Merge Sorted Array 파이썬(Python) 풀이 (65) | 2023.11.26 |