10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int testcase = in.nextInt();
int[] arr = new int[testcase];
for (int i =0; i< testcase;i++){
arr[i] = in.nextInt();
}
in.close();
Arrays.sort(arr);
System.out.print(arr[0] +" "+ arr[testcase-1]);
}
}
이 문제는 배열을 이용하여 풀면 된다. 배열을 오름차순으로 정렬해야하기 때문에
java.util.Arrays 클래스의 sort() 메서드를 이용하였다. Arrays.sort()메서드는 자동으로 오름차순으로
정렬이 된다. 배열의 선언과 생성을 동시에 하였다. int[] arr ->배열선언 arr = new int[testcase] -> 배열생성
반복문 for문을 이용하여 배열을 초기화하였다. 이제 최솟값과 최댓값을 출력하면 된다.
오름차순으로 정렬했으니 배열의 첫번째 원소값이 최솟값이고 배열의 마지막 원소값에 최댓값이 있다.
'백준 알고리즘 > JAVA' 카테고리의 다른 글
백준/3052/나머지/JAVA (0) | 2021.09.03 |
---|---|
백준/2577/숫자의 개수/JAVA (0) | 2021.09.02 |
백준/2562번/최댓값/JAVA (0) | 2021.09.01 |
백준/11110번/더하기사이클/JAVA (0) | 2021.08.30 |
백준/10952번/A+B -5/JAVA (0) | 2021.08.25 |
댓글