leetcode#26 Remove Duplicates from Sorted Array

정은경·2022년 5월 26일
0

알고리즘

목록 보기
56/125

1. 문제

2. 나의 풀이

2-1. 딕셔너리(해시) 이용하기

class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        memory = {}
        for num in nums:
            if memory.get(num):
                continue
            memory[num] = True
        
        sorted_nums = sorted(memory.keys())
        count = len(sorted_nums)
        
        for (index, num) in enumerate(nums):
            if index < count:
                nums[index] = sorted_nums[index]
                continue
            nums[index] = count
        
        return count

3. 남의 풀이

3-1. for문 이용하기

class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        
        if len(nums) < 1:
            return 0
        
        change_index = 1
        for i in range(0, len(nums)):
            # print(nums[i])
            if i != 0 and nums[i-1] != nums[i]:
                nums[change_index] = nums[i]
                change_index += 1
        
        return change_index
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글