문제
N 정수를 얻습니다. 이때 최소값과 최대값을 구하는 프로그램을 작성하세요.
기입
정수의 개수 N(1 ≤ N ≤ 1,000,000)은 첫 번째 줄에 지정됩니다. 두 번째 줄에는 공백으로 구분된 N개의 정수가 포함됩니다. 모든 정수는 -1,000,000보다 크거나 같고 1,000,000보다 작거나 같은 정수입니다.
누르다
공백으로 구분된 첫 번째 줄에 주어진 N 정수의 최소값과 최대값을 반환합니다.
내 솔루션
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String() args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int() numArr = new int(n);
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
numArr(i) = Integer.parseInt(st.nextToken());
}
int min = numArr(0);
int max = numArr(0);
for (int num : numArr) {
if (num < min) {
min = num;
} else if (num > max) {
max = num;
}
}
System.out.print(min + " " + max);
}
}
용해 과정
- 입력 값을 받은 후 첫 번째 줄의 입력 값은 int 변수이고 두 번째 줄의 입력 값은 for 문이 포함된 int 배열입니다.
- 그런 다음 최소값과 최대값을 모두 배열의 첫 번째 값으로 설정하고 int 배열의 모든 값을 검사하여 최소값보다 작으면 변경하고 최대값보다 크면 변경합니다. .
- 시간 복잡도: O(n)