다른 사람의 풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] numList, int n) {
return Arrays.stream(numList)
.boxed()
.sorted((a, b) -> Math.abs(a - n) == Math.abs(b - n) ? b.compareTo(a) : Integer.compare(Math.abs(a - n), Math.abs(b - n)))
.mapToInt(Integer::intValue)
.toArray();
}
}
▶ boxed()의 리턴타입은 Stream<Integer> 이다. ★
▶ mapToInt(Integer::intValue)의 리턴타입은 IntStream 이다.
▶ mapToInt(Integer::intValue) == mapToInt(i -> i)
▶ toArray()는 IntStream 타입을 int[] 배열타입으로 바뀌준다.
▶ a.compareTo(b) → 오름차순
▶ a.compareTo(b) *( -1) → 내림차순
▶ b.compareTo(a) → 내림차순
▶ Integer.compare(A, B) A, B 두 대상을 비교
'프로그래머스(자바) > LV.0(자바)' 카테고리의 다른 글
진료순서정하기 → 인덱스 장난치기, 동기화★★, List의 indexOf() (0) | 2022.11.26 |
---|---|
7의 개수★ →"k의 개수"문제와 유사 (0) | 2022.11.26 |
가까운 수 → "특이한 정렬"과 유사 + abs(n-array[i]) 갱신논리 (0) | 2022.11.25 |
팩토리얼 → ★축약 연산자를 이용한 팩토리얼 (0) | 2022.11.25 |
2차원으로 만들기→이중for문★, %연산자★ 2차원배열 (0) | 2022.11.25 |