어후.. 오랜만에 하려니 다 까먹었다.. 이게 맞나..
모르는 개념 정리해 가며 다시 시작하기로 했다.
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
// 내가 쓴 개똥 코드.. 실수도 기억해야지.. int list[] = sc.nextInt();
int[] arr = new int[N];
/*
나는 배열 안에 있는 숫자를 서로 하나하나 비교하는 방식을 생각했지만
정답을 찾아보니 오름차순으로 정렬하는 메소드를 활용하여
최솟값은 배열의 첫번째 원소, 최대값은 배열의 마지막 원소를 찾아 해결하였다.
*/
for(int i=0; i<N; i++){ // **int 붙이는 거 기억하자!!
arr[i] = sc.nextInt(); // 사용자에게 입력 받은 정수를 배열에 입력
}
sc.close();
Arrays.sort(arr); // 이 메소드는 배열에 저장된 원소 값을 오름차순으로 정렬해주는 메소드다.
System.out.println(arr[0] + " " + arr[N-1]);
}
}
nextInt() 메서드는 자바의 Scanner 클래스에 속한 메서드 중 하나로, 표준 입력에서 정수 값을 읽어오는 역할을 합니다.
여기서 주로 사용되는 Scanner 클래스는 키보드나 파일 등으로부터 다양한 데이터 유형을 읽어올 수 있는 유용한 클래스입니다. nextInt() 메서드는 이 중에서도 사용자로부터 정수 값을 입력받을 때 사용됩니다.
Scanner 객체가 사용한 시스템 자원을 반환하고 닫아주는 역할을 합니다.
자바에서는 파일, 네트워크 연결, 시스템 자원과 같은 외부 리소스를 사용할 때 해당 리소스를 사용한 후에는 명시적으로 리소스를 닫아주는 것이 중요합니다. 이렇게 하지 않으면 리소스 누수가 발생할 수 있어서 프로그램의 성능이 저하되거나, 리소스 부족으로 인해 예상치 못한 문제가 발생할 수 있습니다.
따라서 Scanner 클래스를 사용한 후에는 .close() 메서드를 호출하여 해당 Scanner 객체가 사용한 시스템 자원을 반환하고 종료해주는 것이 좋습니다.