[프로그래머스] 특이한 정렬 - Java

Yunki Kim·2023년 1월 11일
0

프로그래머스

목록 보기
89/101
post-thumbnail

문제


링크


코드

import java.util.stream.IntStream;

class Solution {
    public int[] solution(int[] numlist, int n) {
        return IntStream.of(numlist).boxed().sorted((num1, num2) -> {
            int num1Abs = Math.abs(num1 - n);
            int num2Abs = Math.abs(num2 - n);

            if (num1Abs == num2Abs) return num1 > num2 ? -1 : 1;
            else return num1Abs - num2Abs;
        }).mapToInt(Integer::intValue).toArray();
    }
}

리뷰

람다식을 사용해보고 싶어서 처음으로 람다식을 이용해 문제를 풀어보았다.
(내가 아는한...)

배열과 정수가 주어지고 정수에 가까운 수부터 정렬하는 문제이다.
이를 위해 절대값을 구해 절대값을 비교하여 절대값이 같은 경우에는 큰 숫자가 오도록 정렬하였다.

0개의 댓글