10818 - 최소, 최대알고리즘/백준2023. 8. 17. 20:18
Table of Contents
N의 길이를 갖는 배열을 생성해주고, nextInt()의 반복문을 통해 배열의 값을 입력받는다.
최대값을 의미하는 max와 최소값을 의미하는 min 변수를 생성해준다.
이 때, min변수는 0으로 초기화되면 후에 조건문에서 가장 작은 값인 0을 계속 갖고있기때문에
배열의 첫번째 인덱스 값으로 초기화해준다.
package boj;
import java.util.Scanner;
public class b10818 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
for(int i=0; i<arr.length; i++) {
arr[i] = sc.nextInt();
}
int max = arr[0];
int min = arr[0];
for(int i=0; i<arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
}
if(arr[i] < min) {
min = arr[i];
}
}
System.out.println(min + " " + max);
}
}
아래 코드는 문제를 해결하는 두번째 방법인데
바로 sort()메서드를 사용하여 배열을 정렬한 후에 배열에 첫번째 인덱스와 마지막 인덱스를 출력하여 최소,최대값을 찾는 로직이다.
이러한 로직으로 짜면 코드는 매우 간단해지지만 sort()메서드의 시간복잡도는 N^2이기 때문에 제법 많은 수행시간을 차지하게된다.
package boj;
import java.util.Arrays;
import java.util.Scanner;
public class b10818_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
for(int i=0; i<arr.length; i++) {
arr[i] = sc.nextInt();
}
Arrays.sort(arr);
System.out.println(arr[0] + " " + arr[N-1]);
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
10810 - 공넣기 (0) | 2023.08.17 |
---|---|
2562 - 최댓값 (0) | 2023.08.17 |
10871 - X보다 작은 수 (0) | 2023.08.17 |
10807 - 개수 세기 (0) | 2023.08.17 |
10951 - A + B - 4 (0) | 2023.08.16 |
@leegeonwoo :: geonwoo
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!