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

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

문제

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

Java
import java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { Map<Integer, String> items = new HashMap<>(); items.put(3, "cherry"); items.put(1, "grape"); items.put(2, "orange"); String output = items.entrySet().stream() .sorted((e1, e2) -> e2.getValue().compareTo(e1.getValue())) .map(entry -> entry.getValue().substring(0, 2).toUpperCase()) .collect(Collectors.joining("-")); System.out.println(output); } }

정답

OR-GR-CH

OR-GR-CH

해설

entrySet()를 스트림으로 만든 뒤 문자열 값 기준으로 내림차순 정렬합니다. 값의 내림차순 순서는 orange, grape, cherry입니다. 각 값의 앞 2글자를 추출해 대문자로 바꾸면 OR, GR, CH가 되고, 이를 '-'로 연결하면 OR-GR-CH가 됩니다.

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

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

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