티스토리 뷰

728x90
반응형

문제


N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

입력


첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

출력


첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

 

풀이

 

굉장히 쉬운 문제지만 summarizingInt()를 사용해보고 싶어서 굳이 풀어보았다.

 

summarizingInt()는 스트림에서 개수, 합계, 평균, 최대, 최소를 한 번에 구해주는 연산이다.

 

2022.10.13 - [Development/Java] - [Java]스트림에서 개수, 합계, 평균, 최대, 최소를 한 번에! summarizingInt()

 

[Java]스트림에서 개수, 합계, 평균, 최대, 최소를 한 번에! summarizingInt()

summarizingInt()는 Collectors와 함께 사용 돼 정수형 스트림에서 제목의 계산을 한번에 해주는 연산자이다. 물론 그중 원하는 요소를 뽑아오는 것도 얼마든지 가능한 아주 기특한 아이이다. 코드를 보

gnidinger.tistory.com

import java.util.ArrayList;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class Prob10818Stream {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        List<Integer> list = new ArrayList<>();

        for (int i = 0; i < n; i++) {
            list.add(sc.nextInt());
        }

        IntSummaryStatistics statistics =
                list.stream()
                        .collect(Collectors.summarizingInt(a -> a));

        System.out.print(statistics.getMin() + " " + statistics.getMax());
    }
}
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함