[LeetCode]Squares of a Sorted Array

오트밀·2022년 1월 21일
0
import java.util.Arrays;

class Solution {
    public int[] sortedSquares(int[] nums) {
        int[] numSquare = new int [nums.length]; 
        
        for(int i = 0; i < nums.length; i++){
            numSquare[i] = (int)Math.pow(nums[i],2);
        }
        Arrays.sort(numSquare);
        
        return numSquare;
    }
}

constraints

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums is sorted in non-decreasing order.

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

integer nums배열이 오름차순으로 정리되어있다.모든 요소를 제곱하고 그 배열을 오름차순으로 return하라.

기존nums배열이 오름차순으로 정렬되어있어도 element가 음수인데 그대로 제곱만 할경우

[-3,-2, 0,1]
-> [9,4,0,1]

이렇게 되어서 오름차순 나열이 되지않는다.따라서 Arrays 를 임포트해서 오름차순으로 나열해준다.
Arrays.sort()는 void를 return하기 때문에

int modArr[] = Arrays.sort(arr); -> x
Arrays.sort(arr); -> o

두번째 방식으로 사용한다.
sort의 기본은 오름차순이며 내림차순은

Arrays.sort(arr,Collections.reverseOrder());

로 구현가능하다. 이때 배열의 형식은 int가 아니라 Integer여야함. 이때는

public static void sort(T[] a,
Comparator<? super T> c)이기 때문에 원시형 datatype을 지원하지 않는다...

https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort(byte[])

profile
루틴을 만들자

0개의 댓글