[오늘의 백준] 6번째
06 Nov 2020“10818번”
단계별로 풀어보기
- 1차원 배열
- 최소, 최대
문제 : N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력 : 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력 : 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
// 정수의 개수 N 값을 담을 변수 len 생성
int len = Integer.parseInt(in.readLine());
// len 의 크기를 가지는 배열 arr 생성
int[] arr = new int[len];
// 문자열을 구분자로 나누는 StringTokenizer 객체를 readLine()메소드를 활용하여 생성
StringTokenizer st = new StringTokenizer(in.readLine());
// N개의 정수를 배열 arr에 담기 위해 for문 사용
for (int i=0; i<len; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
// 배열 arr을 오름차순으로 정렬
Arrays.sort(arr);
// 최소값 arr[0]과 최대값 arr[len-1]을 출력
System.out.println(arr[0] + " " + arr[len-1]);
}
}