안녕하세요. 이번에는 백준 10818 최소, 최대 문제를 풀어보려고 합니다.
https://www.acmicpc.net/problem/10818
Problem
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
Solution
import java.io.*;
import java.util.*;
public class Main {
static int max = Integer.MIN_VALUE;
static int min = Integer.MAX_VALUE;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int i = 0; i < N; i++) {
int num = Integer.parseInt(st.nextToken());
checkMaxAndMin(num);
}
sb.append(min).append(" ").append(max);
System.out.println(sb.toString());
}
public static void checkMaxAndMin(int num) {
if(min > num) {
min = num;
}
if(max < num) {
max = num;
}
}
}
max에는 최솟값, min에는 최댓값을 세팅한 후 주어진 숫자들을 checkMaxAndMin 메서드에 넣으면서 max와 min에 최솟값 최댓값을 대입해 주고 출력해 주면 되는 문제이다.
Solution 2
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
StringTokenizer str = new StringTokenizer(br.readLine());
int[] arr= new int[num];
for(int i = 0; i < arr.length; i++){
arr[i] = Integer.parseInt(str.nextToken());
}
// Arrays.sort는 기본 오름차순 정렬이다 만약 내림차순 정렬로 하고 싶으면 Arrays.sort(arr, Collections.reverseOrder())를 해주면 된다.
Arrays.sort(arr);
System.out.print(arr[0] + " " + arr[arr.length - 1]);
}
}
Java에서 제공해주는 Sort 기능을 사용해도 된다. int [] 배열에 주어진 값들을 넣은 후 Sort 시키면 오름차순으로 정렬이 되어있으므로 첫 번째 값과 마지막 값을 출력해 주는 식으로 문제를 해결해도 된다.
Performance
1. Solution 1 실행 결과
2. Solution 2 실행 결과
Java에서 제공해주는 Sort 기능을 사용하여 젤 처음 값과 마지막 값을 보여주는 방식으로 구현도 가능하지만 시간과 메모리는 구현하는 것보다는 많이 걸리는 걸 확인할 수 있다. 주어진 상황에 따라 둘 중 한 방법을 사용하면 될 것 같다.
반응형
'백준 Algorithm > 백준 CLASS1' 카테고리의 다른 글
[백준] CLASS1 11720번 : 숫자의 합 - JAVA [자바] (0) | 2023.09.26 |
---|---|
[백준] CLASS1 2675번 : 문자열 반복 - JAVA [자바] (0) | 2023.09.24 |
[백준] CLASS1 2562번 : 최댓값 - JAVA [자바] (0) | 2023.09.23 |