본문 바로가기
백준

[백준] 10818번 : 최소, 최대 – JAVA [자바]

by Hongwoo 2022. 7. 6.
반응형

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 10818번 최소, 최대는 브론즈 3 난이도의 수학 및 구현 문제이다. 이 문제에서는 n개의 정수가 주어지고 그 정수들 중에서 최솟값과 최댓값을 출력하면 되는 문제이다. 

 

우선 이 문제는 간단하게 풀 수 있다. 우선 int형 min과 max를 선언하고 min은 Integer.MAX_VALUE로, max는 Integer.MIN_VALUE로 초기화해준다. 이 이유는 min을 만약에 Integer.MIN_VALUE로 초기화했을 때, 어떤 정수가 와도 min의 값은 바뀌지 않기 때문이다. 

 

그리고 for-loop을 돌려 min = Math.min(min, 정수), 그리고 max = Math.max(max, 정수)로 코드를 써준다. 그리고 마지막에 min과 max를 출력하면 끝난다.

 


  • 코드

 

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));
        int n = Integer.parseInt(br.readLine());
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            int number = Integer.parseInt(st.nextToken());
            min = Math.min(min,number);
            max = Math.max(max, number);
        }
        System.out.print(min + " " + max);
    }
}

 

반응형

댓글