LeetCode 문제 풀이

[LeetCode] 26. Remove Duplicates from Sorted Array 파이썬(Python) 풀이

로밍맨 2023. 11. 28. 08:00
728x90
반응형

문제 링크

https://leetcode.com/problems/remove-duplicates-from-sorted-array

 

Remove Duplicates from Sorted Array - LeetCode

Can you solve this real interview question? Remove Duplicates from Sorted Array - Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place [https://en.wikipedia.org/wiki/In-place_algorithm] such that each unique element ap

leetcode.com

 

투 포인터 문제라고도 볼 수 있겠네요.

제 코드에서 보면, 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
반응형