https://www.acmicpc.net/problem/10818
[ 문제 ]
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
[ 입력 ]
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다.
둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다.
모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
[ 출력 ]
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
[ 입출력 예시 ]
예제 입력 | 예제 출력 |
---|---|
5 20 10 35 30 7 | 7 35 |
- 문제에 제시 된 정수값의 범위는 -1,000,000 ~ 1,000,000 이므로
최댓값을 나타낼 변수(max)는 제일 작은 -1000001
최솟값을 나타낼 변수(max)는 제일 큰 1000001 으로 초기화 하여 시작한다.
몇 번 반복할지 입력 받는 값(count)를 선언하고 값을 입력 받는다.
- 이후 들어올 값들을 잡아줄 변수(num)을 선언하고 for문을 count만큼 돌리면서 num변수에 입력 된 값을 담아준다. 이 입력된 값 (num)을 이용하여 최댓값(max), 최솟값을 비교하여
최댓값보다 크면은 max에 num을, 최솟값보다 작으면 min에 num을 담아준다.
- 최종적으로 결정된 최댓값(max)와 최솟값(min)을 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int count = Integer.parseInt(st.nextToken());
int min = 1000001;
int max = -1000001;
int num;
st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<count; i++) {
num = Integer.parseInt(st.nextToken());
if(num > max) {
max = num;
}
if(num < min) {
min = num;
}
}
System.out.println(min + " " + max);
}
}