728x90
<정답1 : 배열 사용x>
import java.io.*;
import java.util.*;
class Main{
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int min = Integer.parseInt(st.nextToken());
int max = min;
for(int i=0; i<n-1; i++){
int t = Integer.parseInt(st.nextToken());
if(t < min){
min = t;
}
else if(t > max){
max = t;
}
}
System.out.print(min+" "+max);
}
}
<정답2: 배열 사용o>
import java.io.*;
import java.util.*;
class Main{
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int[] arr = new int[n];
int index = 0;
while(st.hasMoreTokens()){
int t = Integer.parseInt(st.nextToken());
arr[index++] = t;
}
Arrays.sort(arr);
System.out.print(arr[0]+" "+arr[n-1]);
}
}
hasMoreTokens()는 boolean 함수로 뒤에 token이 있으면 true, 없으면 false를 반환한다.
여기서는 배열의 정렬 기능을 이용해 min과 max를 구했다.
import java.util.Arrays;
Arrays.sort(배열이름); //오름차순으로 정렬한다.


배열을 사용하는 경우 전체를 하나하나 비교해서 정렬하기 때문에 시간이 훨씬 많이 걸린다. (배열의 정렬은 최악의 경우 시간복잡도가 N^2이다.)
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 / 입출력] 2439 : 별 찍기 - 2 (Java) (0) | 2023.09.03 |
---|---|
[백준 / 입출력] 2438 : 별 찍기 - 1 (Java) (0) | 2023.09.03 |
[백준 / 입출력] 8393 : 합 (Java) (0) | 2023.09.03 |
[백준 / 입출력] 1924 : 2007년 (Java) (0) | 2023.09.03 |
[백준 / 입출력] 2739 : 구구단 (Java) (0) | 2023.09.03 |