[JAVA]백준 알고리즘/단계별 - 1차원 배열
[JAVA]백준 알고리즘 10818번 : 최소, 최대
코린이J
2023. 1. 6. 11:11
728x90
https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
풀이
이 문제도 백준 알고리즘 10871번 : X보다 작은 수 문제와 같이 1차원 배열에 분류되어 있는 문제 이긴 하나, 배열을 사용하지 않고도 해결할 수 있다.
정수를 입력받을 때마다 최댓값과 최솟값을 최신화하여 출력하면 된다.
코드
BufferedReader 클래스와 StringBuilder 클래스를 이용한 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
st = new StringTokenizer(br.readLine());
for(int i = 0; i < N; i++) {
int num = Integer.parseInt(st.nextToken());
if(num > max) max = num;
if(num < min) min = num;
}
sb.append(min).append(" ").append(max);
System.out.println(sb);
}
}
틀린 부분이 있다면 정정해주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90