정보처리기사 실기JavaJava - Comparator 람다 정렬난이도 4SHORT_ANSWER

정보처리기사 실기 Java - Comparator 람다 정렬 기출문제 #3464

문제

다음 Java 코드의 실행 결과를 쓰시오.

Java
import java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { List<Integer> data = Arrays.asList(15, 3, 28, 7, 41, 12); Map<Boolean, List<Integer>> grouped = data.stream() .collect(Collectors.partitioningBy(x -> x % 2 == 0)); List<Integer> evens = grouped.get(true); evens.sort(Comparator.comparing(x -> x % 10).reversed()); System.out.println(evens.get(0) + evens.get(evens.size()-1)); } }

정답

40

40

해설

partitioningBy로 짝수와 홀수를 나누면 짝수 리스트는 [28, 12]이다. 이를 일의 자리 기준 내림차순으로 정렬하면 그대로 [28, 12]이다. 따라서 evens.get(0) + evens.get(evens.size()-1)은 28 + 12 = 40이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] Java - Comparator 람다 정렬 Java 기출 #3464 | sqldpass