coding test/leetCode
[leetCode/JS] 905. Sort Array By Parity
쭘봉
2023. 9. 28. 13:14
난이도 [😊 ] Easy
문제 설명
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.
정수 배열 nums 가 주어지면 배열의 앞부분으로 짝수 정수를 모두 이동시키고 그 뒤에 홀수 정수를 이동해라.
입출력 예
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 <= 5000
- 0 <= nums[i] <= 5000
내 솔루션
조건을 보면 어떠한 정렬이 없다. 짝수가 홀수보다 앞에 있으면 된다길래 1초만에 풀었다.
var sortArrayByParity = function(nums) {
return nums.sort((a, b) => b%2 === 0 ? 1 : -1)
};
다른 사람 솔루션
two point looping으로 O(n)으로 해결한 솔루션이다.
sort는 워낙 최적화가 잘되어 있어서 그런가 아이디어가 재미있지만 내 솔루션보단 조금 오래 걸리긴한다.
var sortArrayByParity = function(nums) {
let oddIdx = 0;
for (let i = 0; i < nums.length; i++) {
if (nums[i] % 2 === 0) {
[nums[i], nums[oddIdx]] = [nums[oddIdx], nums[i]];
oddIdx++;
}
}
return nums;
};
감상평
오늘의 leetcode 문제는 javascript만 생각하면 쉬운 문제다.