코딩 공부

[백준] 10818번 - 최소, 최대 (Java)

ZZJJing 2020. 12. 11. 15:44

최소, 최대 성공분류

시간 제한메모리 제한제출정답맞은 사람정답 비율

1 초 256 MB 83628 35703 28945 43.977%

문제

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

입력

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

출력

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

예제 입력 1 복사

5 20 10 35 30 7

예제 출력 1 복사

7 35

출처

www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

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

www.acmicpc.net


 

계속 쉬운 알고리즘만 풀다보니 

약간의 요령이 생기는 듯 

일단 입력 정수의 허용 범위 따위는 신경쓰지 않는다. ㅎㅎ อิ_อี;

 

그냥 입력받은 수를 배열에 넣고, 

sort() 함수를 이용해서 정렬하고 

배열 맨 앞(최소) / 배열 맨 뒤(최대) 값을 출력했다. 

 

 

 

 

혼자 정렬 알고리즘 짜보고있었는데 

정렬이 가능한 함수가 있었다. 

 

import java.util.Arrays 클래스의 sort()메서드다. 

 

Arrays.sort()   → 순차 정렬 (int / String) 다 사용가능 

Arrays.sort(arr, 0, 3) →위치를 지정해 일부분만 순차정렬된다. (배열이름, 시작 인덱스, 끝 인덱스) 

● 내림차순 정렬은 

    콜렉션도 임포트 해야함 

    import java.util.Collections

    Arrays.sort(arr,Collections.reverseOrder()) →내림차순 (int사용불가)

    이 함수를 이용해서 내림차순 정렬을 하려면 int [] 로는 안되고,  

    Integer arr[] = {} 이런식으로 래퍼클래스를 만들어야함.  (String은 사용가능)