알고리즘 공부/백준 문제풀이

[백준] 11931 : 수 정렬하기 4(JAVA)

송테이토 2022. 11. 13. 12:05

백준 11931 자바

수 정렬하기 4

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

2 초 256 MB 10826 5766 4659 55.228%

문제

N개의 수가 주어졌을 때, 이를 내림차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 내림차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

예제 입력 1

5
1
2
3
4
5

예제 출력 1

5
4
3
2
1

Arrays.sort() 를 쓰면 시간초과가 날 수 있으니 Collection.sort() 를 쓰자

Collections.sort(list,Collections.reverseOrder());

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;

public class B11931 {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		int N = Integer.parseInt(br.readLine());

		ArrayList<Integer> list = new ArrayList<Integer>();
		for (int i = 0; i < N; i++) {
			list.add(Integer.parseInt(br.readLine()));
		}

		**Collections.sort(list,Collections.reverseOrder()); // 내림차순 정렬**

		// 내림차순으로 출력
		for (int i : list) {
			sb.append(i + "\\n");
		}
		System.out.println(sb);

	}
}