천리길도 한걸음부터
문제02 배열 제어하기⭐⭐ 본문
- 저자 권장 시간 : 10분
- 권장 시간 복잡도 : O(NlogN)
- 출제 : 저자 출제
import java.util.Arrays;
import java.util.Collections;
public class Solution() {
public static void main(String[] args) {
System.out.println(Arrays.toString());
System.out.println(Arrays.toString());
}
private static int[] solution(int[] arr) {
// 1. 배열 중복제거
Integer[] result = Arrays.stream(arr).boxed().distinct().toArray(Integer[]::new);
// 2. 내림차순 정렬
Arrays.sort(result, Collections.reverseOrder());
// int형 배열로 변경 후 반환
return Arrays.stream(result).maptoInt(Integer::intValue).toArray();
}
}
----------
자바에는 코딩 테스트에 유용한 표준 API들이 많고, 굳이 직접 작성할 필요X.
효율성이 떨어지는 상황에는 가급적 표준API 사용.
-----------
import java.util.Collections;
import java.util.TreeSet;
public class Solution {
private static int[] solution(int[] arr) {
// 1. 중복값 제거, 2. 내림차순 정렬
TreeSet<Integer> set = new TreeSet<>(Collections.reverseOrder());
for (int num : arr ) {
set.add(num);
}
// int형 배열에 담아서 반환
int[] result = new int[set.size()];
for (int i=0; i<result.length; i++) {
result[i] = set.pollFirst();
}
return result;
}
}
---------
api 열심히 외워야겠네..쓰다보면 외워지겠지?
헷갈..
'코딩 테스트 합격자 되기_자바💜' 카테고리의 다른 글
문제06. 실패율⭐⭐ (0) | 2024.08.12 |
---|---|
문제05. 행렬의 곱셈⭐ (0) | 2024.08.10 |
문제04. 모의고사⭐ (0) | 2024.08.08 |
문제03 두 개 뽑아서 더하기⭐ (0) | 2024.08.07 |
문제01 배열 정렬하기⭐ (0) | 2024.08.05 |