https://www.acmicpc.net/problem/10818
문제
풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
int min = 1000001;
int max = -1000001;
st = new StringTokenizer(br.readLine());
for(int i = 0; i < n; i++) {
int temp = Integer.parseInt(st.nextToken());
if(temp < min) {
min = temp;
}
if(temp > max) {
max = temp;
}
}
System.out.println(min + " " + max);
}
}
정수 배열에 저장한 뒤에 Arrays.sort()를 써도 되겠지만 직접 처리해봤다.
문제 자체는 어렵지 않기 때문에 포인트만 집어보자.
이 전의 좀 더 높은 수준의 문제에서 봤었던 포인트인데 정수 범위가 -1000000~1000000인 것에 주목하자.
그렇기 때문에 min 값의 초기값을 1000001로 잡고, max의 초기값을 -1000001로 잡는다.
0으로 잡거나 하면 안 된다. min을 최대, max를 최소로 잡는 이유는 이렇게 해야 비교했을 때 제대로 된 값이 들어갈 수있기 때문이다.
'문제 풀이 > 백준' 카테고리의 다른 글
[백준]10870번. 피보나치수 5(JAVA) (0) | 2024.04.11 |
---|---|
[백준]2460번. 지능형 기차2(JAVA) (0) | 2024.04.11 |
[백준]3460번. 이진수(JAVA) (0) | 2024.04.11 |
[백준]2501번. 약수 구하기(JAVA) (0) | 2024.04.11 |
[백준] 2343번. 기타레슨(JAVA) (0) | 2024.04.11 |