LeetCode 솔루션 분류
[5/2] 905. Sort Array By Parity
본문
[LeetCode 시즌 3] 2022년 5월 2일 문제입니다.
https://leetcode.com/problems/sort-array-by-parity/
[Easy] 905. Sort Array By Parity
Given an integer array nums, move all the even integers at the beginning of the array followed by all the odd integers.
Return any array that satisfies this condition.
Example 1:
Input: nums = [3,1,2,4] Output: [2,4,3,1] Explanation: The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.
Example 2:
Input: nums = [0] Output: [0]
Constraints:
1 <= nums.length <= 50000 <= nums[i] <= 5000
관련자료
-
링크
댓글 4
나무토끼님의 댓글
- 익명
- 작성일
Runtime: 117 ms, faster than 37.62% of Python3 online submissions for Sort Array By Parity.
Memory Usage: 14.6 MB, less than 63.70% of Python3 online submissions for Sort Array By Parity.
Memory Usage: 14.6 MB, less than 63.70% of Python3 online submissions for Sort Array By Parity.
class Solution:
def sortArrayByParity(self, nums: List[int]) -> List[int]:
p1, p2 = 0, len(nums) - 1
while p1 < p2:
if nums[p1] % 2 == 1 and nums[p2] % 2 == 0:
nums[p1], nums[p2] = nums[p2], nums[p1]
while p1 < len(nums) and nums[p1] % 2 == 0:
p1 += 1
while p2 >= 0 and nums[p2] % 2 == 1:
p2 -= 1
return nums
dkim1017님의 댓글
- 익명
- 작성일
Runtime: 162 ms
Memory Usage: 46.3 MB
Memory Usage: 46.3 MB
/**
* @param {number[]} nums
* @return {number[]}
*/
var sortArrayByParity = function(nums) {
parityArray = []
for (var i = 0; i < nums.length; i++) {
if (nums[i] % 2 === 0) {
parityArray.push(nums.splice(i,1))
i--;
}
}
for (var i = 0; i < nums.length; i++) {
parityArray.push(nums[i]);
}
return parityArray.flat()
};mingki님의 댓글
- 익명
- 작성일
C++
Runtime: 15 ms, faster than 48.12% of C++ online submissions for Sort Array By Parity.
Memory Usage: 16.3 MB, less than 25.41% of C++ online submissions for Sort Array By Parity.
Runtime: 15 ms, faster than 48.12% of C++ online submissions for Sort Array By Parity.
Memory Usage: 16.3 MB, less than 25.41% of C++ online submissions for Sort Array By Parity.
class Solution {
public:
vector<int> sortArrayByParity(vector<int>& nums) {
int p = 0;
for (int i = 0; i < nums.size(); ++i) {
if (nums[i] % 2 == 0) {
swap(nums[p++], nums[i]);
}
}
return nums;
}
};austin님의 댓글
- 익명
- 작성일
class Solution {
public:
vector<int> sortArrayByParity(vector<int>& nums) {
for(auto [slow, fast] = tuple(nums.begin(), nums.begin()); fast != nums.end(); ++fast) {
if (!(*fast%2)) swap(*(slow++), *fast);
}
return nums;
}
};







