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

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

문제

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

Java
import java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { Map<String, Integer> data = new HashMap<>(); data.put("java", 4); data.put("python", 6); data.put("c", 1); data.put("go", 2); String result = data.entrySet().stream() .filter(e -> e.getValue() > 2) .sorted((a, b) -> b.getKey().compareTo(a.getKey())) .map(Map.Entry::getKey) .collect(Collectors.joining("-")); System.out.println(result); } }

정답

python-java

python-java

해설

Map의 entrySet()을 Stream으로 변환한 후, filter(e -> e.getValue() > 2)로 값이 2보다 큰 항목만 필터링합니다(java:4, python:6). sorted((a, b) -> b.getKey().compareTo(a.getKey()))로 키를 내림차순 정렬합니다(python, java). map(Map.Entry::getKey)로 키만 추출하고, collect(Collectors.joining("-"))로 "-"를 구분자로 문자열을 결합합니다.

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

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