릿코드(LEETCODE)
283. Move Zeroes
cepiloth
2020. 4. 9. 22:21
반응형
https://leetcode.com/problems/move-zeroes/
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
벡터의 요소에서 0 인 수를 뒤로 shift 하는 문제
vector local 하나를 선언해서 0 채우고
nums 벡터의 0 이 아닌 숫자일때 arr 배열에 숫자를 넣어주고 offset 을 증가하는 식으로 풀었다.
bruth-force 풀이
class Solution {
public:
void moveZeroes(vector<int>& nums) {
vector<int> arr(nums.size());
fill(arr.begin(), arr.end(), 0);
int pos = 0;
for(int i=0;i<nums.size(); i++) {
if(nums[i] != 0) {
arr[pos++] = nums[i];
}
}
nums = arr;
}
};
반응형