실패코드
시간이 오래걸려서 그런지 Math 함수를 사용하지 않으면 실패했다고 나온다.
답은 같더라도 방식과 시간에 따라 실패로 나뉘는 것 같다.
import java.util.Scanner;
public class Main {
// 10818번
// 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
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int arr[];
int number = scanner.nextInt();
int max = 0;
int min = 0;
max = -100000;
min = 100000;
arr = new int[number];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
if(max < arr[i]) {
max = arr[i];
}
if(min > arr[i]) {
min = arr[i];
}
}
System.out.print(min + " " + max);
}
}
성공 코드
import java.util.Scanner;
public class Main {
// 10818번
// 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
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int arr[];
int number = scanner.nextInt();
int min = 0;
int max = 0;
max = -1000000;
min = 1000000;
arr = new int[number];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
min = Math.min(min, arr[i]);
max = Math.max(max, arr[i]);
}
System.out.print(min + " " + max);
}
}
'백준 문제 풀기 > Array' 카테고리의 다른 글
백준 Array문 단계별 풀기 - 1546번 (0) | 2019.12.05 |
---|---|
백준 Array문 단계별 풀기 - 3052번 (0) | 2019.12.04 |
백준 Array문 단계별 풀기 - 2577번 (0) | 2019.12.03 |
백준 Array문 단계별 풀기 - 2920번 (0) | 2019.12.01 |
백준 Array문 단계별 풀기 - 2562번 (0) | 2019.12.01 |