정수의 갯수인 N을 입력하고 N의 크기만큼 반복해서 숫자를 입력받은 뒤,
최소/최대 값을 구해서 출력하는 간단한 문제이다.
Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int max = 0; int min = 0; int[] arr = new int[a];
몇개의 정수를 입력받을지 정하기 위해 a를 Scanner로 입력 받고, 최대 값과 최소 값을 저장할 변수 max/min을 초기화 해준다. a 크기 만큼 반복해서 정수를 넣어줄 저장소인 int형 배열 arr을 선언해준다.
for(int i=0; i<a; i++) { int b = sc.nextInt(); arr[i] = b; }
정수 a의 크기만큼 반복문을 반복하며, arr[] 에 입력받은 정수를 넣어준다.
OptionalInt max2 = Arrays.stream(arr).max(); max = max2.getAsInt(); OptionalInt min2 = Arrays.stream(arr).min(); min = min2.getAsInt(); System.out.println(min); System.out.println(max);
Arrays.stream(arr).max() 와 Arrays.stream(arr).min() 을 이용해서 최대,최소 값을 구해준다.
여기서 위 메서드들의 return type은 OptionalInt 이므로, max2,min2 라는 이름의 OptionalInt형 변수를 두개 선언해 주고 값을 넣어주고, getAsInt() 메서드를 이용하여 Int형으로 변환 시켜주고 출력하면 문제가 해결 된다.
import java.util.Arrays; import java.util.OptionalInt; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int max = 0; int min = 0; int[] arr = new int[a]; for(int i=0; i<a; i++) { int b = sc.nextInt(); arr[i] = b; } OptionalInt max2 = Arrays.stream(arr).max(); max = max2.getAsInt(); OptionalInt min2 = Arrays.stream(arr).min(); min = min2.getAsInt(); System.out.println(min); System.out.println(max); } }