[백준]BOJ_10818 JAVA

최진민·2020년 12월 18일
0

Algorithm_BOJ

목록 보기
9/92
post-thumbnail

문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.


입력

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


출력

첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.


예제 입/출력


소스 코드

  • 배열 사용
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[] arr = new int[n];
        
        st = new StringTokenizer(br.readLine());

        for (int i = 0; i < n; i++) {
        	arr[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(arr);

        System.out.println(arr[0] + " " + arr[n - 1]);
    }
}
  • list 사용
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;

        List<Integer> list = new ArrayList<>();


        int n = Integer.parseInt(br.readLine());
        st = new StringTokenizer(br.readLine());

        for (int i = 0; i < n; i++) {
            list.add(Integer.parseInt(st.nextToken()));
        }

        Collections.sort(list);

        System.out.println(list.get(0) + " " + list.get(n - 1));
    }
}

Comment

BOJ_10818

  • "배열"과 "list"의 정렬
    + Arrays.sort(Arr) : 배열 정렬(숫자 > 알파벳 > 한글, 오름차순), Dual-Pivot QuickSort
    + Collections.sort(Object) : 객체 정렬(동일), Merge(합병) + Insert(삽입) = TimSort
    아래 : list / 위 : 배열

인덱스로 풀었지만 내부에서 비교문을 사용해도 된다

profile
열심히 해보자9999

0개의 댓글