[Java] 제곱수 정렬

전.java / / 2023. 1. 31. 17:22
728x90

- 제곱수 오름차순 정렬

- sort 사용 금지

 

 

(입력)

[-4, -1, 0, 3, 10]
[-7, -3, 2, 3, 11]

 

 

(출력)

 

 

# Math.abs 사용


public class Main {

    private int[] solution(int[] nums) {

        int n = nums.length;
        int[] result = new int[n];
        int lt = 0;
        int rt = n-1;
        int tmp;

        for(int i=n-1; i>=0; i--) {
            if(Math.abs(nums[lt]) < Math.abs(nums[rt])) {
                tmp = nums[rt];
                rt--;
            }
            else {
                tmp = nums[lt];
                lt++;
            }
            result[i] = tmp*tmp;
        }

        return result;
    }

    public static void main(String[] args) {
        Main T = new Main();
        int[] nums = new int[]{-4, -1, 0, 3, 10};
        int[] nums2 = new int[]{-7, -3, 2, 3, 11};
        for(int i : T.solution(nums)) { // [0, 1, 9, 16, 100]
            System.out.print(i + " ");
        }
        System.out.println();
        for(int i : T.solution(nums2)) { // [4, 9, 9, 49, 121]
            System.out.print(i + " ");
        }
    }
}
반응형

'전.java' 카테고리의 다른 글

[Java] 바이토닉 수열  (0) 2023.01.31
[Java] 가장 높은 증가수열  (0) 2023.01.31
[Java] 공부시간  (0) 2023.01.31
[Java] 가장 가까운 시간  (0) 2023.01.31
[Java] 공통 문자 찾기  (0) 2023.01.31
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기