Skip to content

leet code

3157 - Move Zeroes

3분 정도 소요

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int size = nums.size();
        int idxNotZero = 0;
        int tmp=0;
        for(int i=0; i<size; ++i)
        {
            if(nums[i]!=0)
            {
                nums[idxNotZero] = nums[i];
                idxNotZero++;
            }
        }
        for(int i=idxNotZero; i<size; ++i)
        {
            nums[i] = 0;
        }
    }
};

3260 - Sort Array By Parity

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public:
    vector<int> sortArrayByParity(vector<int>& nums) {
        int size = nums.size();
        int start = 0;
        int end = size-1;
        int tmp =0;
        while(start < end)
        {
            if(nums[start]%2 > nums[end]%2)
            {
                tmp = nums[end];
                nums[end] = nums[start];
                nums[start] = tmp;
            }
            if(nums[start]%2==0) start++;
            if(nums[end]%2==1) end--;
        }
        return nums;

    }
};

3575 - Remove Element

==="C++ time(beats 100%), space(68.89%)"

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
```c++
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int targetIdx=0;
        for(int i=0; i<nums.size(); ++i)
        {
            if(nums[i]!=val)
                nums[targetIdx++] = nums[i];
        }
        return targetIdx;
    }
};
```

3228 - Height Checker

==="C++ time(beats 100%), space(59.46%)"

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
```c++
class Solution {
public:
    int heightChecker(vector<int>& heights) {
        int size = heights.size();
        int tmp = 0;
        int minVal = 101;
        int minIdx = 0;
        int cnt = 0;
        vector<int> newV(heights);
        for(int i=0; i<size; ++i)
        {
            minVal = heights[i];
            minIdx = i;
            for(int j=i+1; j<size;++j)
            {
                if(heights[j] < minVal)
                {
                    minVal = heights[j];
                    minIdx = j;
                }
            }
            tmp = heights[minIdx];
            heights[minIdx] = heights[i];
            heights[i] = tmp;
        }
        for(int i=0; i<size; ++i)
        {
            if(newV[i]!=heights[i])
                cnt++;
        }
        return cnt;
    }
};
```