🌏 주제 : 최소값과 최대값
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
예제 입력 1
5
20 10 35 30 7
예제 출력 1
7 35
🌏 풀이
package BAEKJOON;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class day13 {
public static void main(String[] args) throws NumberFormatException, IOException {
// 방법1
// Scanner scan = new Scanner(System.in);
//
// int N = scan.nextInt();
// int[] a = new int[N];
//
// for(int i = 0; i < a.length; i++) {
// int num = scan.nextInt();
// a[i] = num;
// }
//
//
// int max = a[0];
// int min = a[0];
//
// for(int i = 0; i < a.length; i++) {
// if(a[i] > max) {
// max = a[i];
// } else if(a[i] < min) {
// min = a[i];
// }
// }
// System.out.println(min + " " + max);
// 방법2.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int max, min; // 최소값 및 최대값.
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n]; // 입력받은 정수의 개수만큼 배열 생성.
StringTokenizer st = new StringTokenizer(br.readLine());
int cnt = st.countTokens(); // 토큰의 갯수 얻어오기
for(int i = 0; i < cnt; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
max = min = arr[0]; // 배열의 첫번째 값을 최소값 및 최대값으로 지정.
for(int i = 1; i< arr.length; i++) { // 배열의 두번째 값부터 마지막 값까지 비교.
if(arr[i] > max)
max = arr[i];
if(arr[i] < min)
min = arr[i];
}
System.out.println(min + " " + max);
}
}
-----
5
20 10 35 30 7
7 35
'Algorithm' 카테고리의 다른 글
Algorithm - 공 바꾸기 (Java) (0) | 2023.03.09 |
---|---|
Algorithm - 공 넣기 (Java) (0) | 2023.03.08 |
Algorithm - A+B - 4 (Java) (0) | 2023.03.05 |
Algorithm - 빠른 A + B (Java) (0) | 2023.03.04 |
Algorithm - 주사위 세개(Java) (0) | 2023.02.28 |