Remove Duplicates From Sorted Array

Yohan Kim·2021년 8월 26일
0

problem

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

오름차순으로 정렬된 배열에서 중복된 값을 제거하는 문제입니다.

solution

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size() == 0) return 0;
        int count = 1;
        for(int i=0; i<nums.size()-1;i++){
           if(nums[i] != nums[i+1])
           {
               nums[count] = nums[i+1];
               count++;
            }
        }
        return count;
    }
};

중간에 겪은 오류

처음에는 map과 iter을 써서 iterator를 돌면서 map에서 값을 못 찾으면 iter을 지워버리는 식으로 짰습니다. 그랬더니 속도도 느리고 메모리도 너무 많이 사용을 하게 되어 고치게 되었습니다.

생각해보니 배열이 정렬되어 있고, for문을 돌아도 O(n)으로 할 수 있는데 너무 돌아간듯 싶었습니다.

profile
안녕하세요 반가워요!

0개의 댓글