본문 바로가기

알고리즘/백준

[백준] 10818 - 최소, 최대

반응형

10818번 문제

 

1. BufferedReader를 사용한 방법

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

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[] num = new int[n];
        int max = -1000000;
        int min = 1000000;

        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        for(int i=0;i<n; i++){
            num[i] = Integer.parseInt(st.nextToken());
        }
        
        for(int i=0; i<n; i++){
            max = Math.max(max, num[i]);
            min = Math.min(min, num[i]);
        }

        System.out.printf(min + " " + max);

        br.close();

    }
}

 

 

2. Scanner를 이용한 방법

import java.util.*;

public class Main{
    public static void main(String[] args){
       
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int[] num = new int[n];
        int max = -1000000;
        int min = 1000000;

        for(int i=0;i<n; i++){
            num[i] = sc.nextInt();
        }
        
        for(int i=0; i<n; i++){
            max = Math.max(max, num[i]);
            min = Math.min(min, num[i]);
        }

        System.out.printf(min + " " + max);

        sc.close();

    }
}

 

Math.max(); 와 Math.min(); 을 이용하여 최솟값과 최댓값을 구하였다. 배열로 풀어서 그런지 BufferedReader를 이용한 방법도 시간이 오래걸렸는데 Scanner를 이용한 방법이 코드는 짧은데 시간과 메모리가 더 많이 들었다.

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 10810 - 공 넣기  (0) 2024.02.15
[백준] 2562 - 최댓값  (0) 2024.02.14
[백준] 10871 - X보다 작은 수  (0) 2024.02.12
[백준] 10807 - 개수 세기  (0) 2024.02.11
[백준] 10951 - A + B(4)  (0) 2024.02.10