LeetCode - 977. Squares of a Sorted Array

henu·2023년 12월 8일
0

LeetCode

목록 보기
153/186

Solution

var sortedSquares = function(nums) {
    const res = []

    for(let i=0, j=nums.length-1; i<=j;) {
        if(Math.abs(nums[i]) < Math.abs(nums[j])) {
            res.unshift(nums[j]**2)
            j--
        } else {
            res.unshift(nums[i]**2)
            i++
        }
    }

    return res
};

Explanation

오름차순으로 정렬된 수열이 주어질 때, 각 수들을 제곱한 후 오름차순으로 정렬하라는 문제이다.
여기서 주의할 점은 음수도 포함될 수 있기 때문에 절댓값을 이용해야 한다는 것이다.
음수가 있을 수 있기 때문에 Two Pointers를 이용해서 해결했다.
양 끝의 두 수의 절댓값을 비교한 후 양수든 음수든 절댓값이 더 큰 수를 제곱해서 수열에 집어넣는다.

0개의 댓글