[백준 / Java] 10818번 : 최소, 최대

개발자가 되고 싶어요 ㅣ 2023. 2. 5. 16:44

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

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

www.acmicpc.net

 


 


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
 
        ArrayList<Integer> numList = new ArrayList<Integer>();
 
        for (int i = 0; i < n; i++) {
            numList.add(sc.nextInt());
        }
 
        int max = Collections.max(numList);
        int min = Collections.min(numList);
 
        System.out.print(min + " ");
        System.out.println(max);
    }
}
cs

 

이번 문제에서는 크게 제네릭(Generics)과 컬렉션(Collections)에 대해 알게 되었다.

 

먼저 제네릭이란 ArrayList나 List 등이 사용할 객체의 타입을 지정해주는 역할을 하는것으로 <> 안에 사용할 타입을 넣어주면 된다. 이는 다룰 객채의 타입을 미리 명시하여 객체의 형변환을 사용할 필요없게 하기 위함이고 또는 내가 사용하고 싶은 데이터 타입만 사용할 수 있게 하기 위함이다.

 

다음으로는 컬렉션이다.

컬렉션은 정적 유틸리티 메소드의 모음이 있는 클래스이다. 이 문제에서는 최대 최소를 구하기 위해 max와 min 메소드를 사용했다.