문제링크 : https://www.acmicpc.net/problem/10818
Collections클래스로 쉽게 최대 최소 값을 구하기 위해 사용하였다.
그냥 다 ArrayList에 담고 Collections.max(), Collections.min()을 쓰자!
n과 배열의 숫자들을 ArrayList에 입력받고 Collections.min(), Collections.max()로 최소, 최댓값을 구해 출력한다.
import java.util.ArrayList;
//import java.util.Arrays;
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> arr = new ArrayList<>();
for(int i = 0; i<n; i++){
arr.add(sc.nextInt());
}
int max = Collections.max(arr);
int min = Collections.min(arr);
System.out.println(min+" "+ max);
// 그냥 int[] + sort 사용
// int[] arr = new int[n];
// for(int i = 0; i<n; i++){
// arr[i] = sc.nextInt();
// }
// Arrays.sort(arr);
// int min = arr[0];
// int max = arr[n-1];
// System.out.println(min+" "+max);
}
}
최대,최소문제는 다양한 풀이법이 존재한다!
int[]로 풀면 Arrays.sort(arr)해서 인덱스 처음, 끝으로 최소, 최대를 반환할 수 있다.
아니면 maxInt, minInt변수를 두고 for문을 돌면서 이 값들을 갱신하며 최대 최소를 구할 수 있다.
ArrayList로 구현하면 Collections.max(arrlist), Collections.min(arrlist)로 쉽게 구할 수 있다.