문제
다음 Java 코드의 실행 결과를 쓰시오.
Javaimport java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(15, 8, 23, 4, 16, 11); String result = numbers.stream() .filter(n -> n > 10) .sorted((x, y) -> y - x) .limit(2) .map(n -> String.valueOf(n).substring(1)) .collect(Collectors.joining("-")); System.out.println(result); } }
정답
3-6
3-6
해설
- 10보다 큰 수만 남기면 [15, 23, 16, 11]
- 내림차순 정렬하면 [23, 16, 15, 11]
- 앞의 2개만 선택하면 [23, 16]
- 각 값을 문자열로 바꾸고 substring(1)을 적용하면 ["3", "6"]
- "-"로 연결하면 "3-6"이 된다.