LeetCode - 977. Squares of a Sorted Array 배열

YAMAMAMO·2022년 1월 20일
0

LeetCode

목록 보기
3/100

문제

https://leetcode.com/problems/squares-of-a-sorted-array/

Given an integer array sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.nums

내림차순이 아닌 순서로 정렬된 정수 배열이 지정되면, 정수를 제곱하고 오름차순으로 정렬한 배열을 반환한다.

Example 1:
Input: nums = [-4,-1,0,3,10]
Output: [0,1,9,16,100]
Explanation: After squaring, the array becomes [16,1,0,9,100].
After sorting, it becomes [0,1,9,16,100].

Example 2:
Input: nums = [-7,-3,2,3,11]
Output: [4,9,9,49,121]

풀이

1.곱한다.
2.정렬한다.
자바입니다.

class Solution {
    public int[] sortedSquares(int[] nums) {
        for(int i=0; i<nums.length;i++){
            //nums[i]=(int)Math.pow(nums[i],2); //1번
            nums[i]=nums[i]*nums[i]; //2번
        }
        Arrays.sort(nums); //Arrays.sort 는 배열을 오름차순으로 정렬한다.
        return nums;
    }
}

두 가지 방식으로 풀었습니다. 같은 로직인 데 속도차이가 난다. Math.pow를 사용한 방법이 메모리를 10MB 정도 더 먹는다. Array.sort 로 정렬하지 않고 직접 짰으면 메모리 효율이 좋을 듯 합니다.

profile
안드로이드 개발자

0개의 댓글