[leetcode, JS] 905. Sort Array By Parity

mxxn·2023년 8월 29일
0

leetcode

목록 보기
53/198

문제

문제 링크 : Sort Array By Parity

풀이

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var sortArrayByParity = function(nums) {
    let evenArr = []
    let oddArr = []
    nums.forEach(e => e%2 ? oddArr.push(e) : evenArr.push(e))
    return [...evenArr, ...oddArr]
};
  1. nums를 순회하며 짝수,홀수를 나눠 array에 push
  2. 짝수 array가 앞에 가도록 하여 return
  • Runtime 60 ms, Memory 45.4 MB : 메모리 비효율적

다른 풀이

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var sortArrayByParity = function(nums) {
    let currPtr = -1;
    let temp;
    for(let i=0;i<nums.length;i++) {
        if (nums[i]%2 === 0) {
            currPtr++;
            temp = nums[currPtr];
            nums[currPtr] = nums[i];
            nums[i] = temp;
        }
    }
    return nums;
};
  1. 짝수만 앞으로 보내는 방식
  • Runtime 60 ms, Memory 43.9 MB
profile
내일도 글쓰기

0개의 댓글