백준 2751번 - 수 정렬하기 2(Java)
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
풀이 과정
1. 저번 문제와 출력 결과물은 같은데, Arrays.sort를 쓰면 시간초과로 오답이 나온다.
2. 다른 알고리즘도 마찬가지라 검색을 해보니 Collections.sort 라는 함수를 사용하는 것이 있었다.
- 참고 링크
2) wjheo.tistory.com/entry/Java-%EC%A0%95%EB%A0%AC%EB%B0%A9%EB%B2%95-Collectionssort
3. 위 함수를 사용해서 코드를 짰다. 해놓고보니 계속 오류가 나서 참고링크 1번에 있는 분의 코드를 참고했더니 거의 빼다 박아서 내가 푼 건지 모르겠다.. for문에 int value : list는 처음보는 형식이라 좀 당황했었다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int N = scanner.nextInt();
ArrayList<Integer> list = new ArrayList<>();
for(int i=0; i<N; i++) {
list.add(scanner.nextInt());
}
Collections.sort(list);
for(int value : list) {
sb.append(value).append('\n');
}
System.out.println(sb);
}
}
'코테 준비' 카테고리의 다른 글
백준 10214번 - Baseball(Python) (0) | 2022.03.16 |
---|---|
백준 10989번 - 수 정렬하기 3(Java) (0) | 2021.02.23 |
백준 2750번 - 수 정렬하기(Java) (0) | 2021.02.20 |
백준 1436번 - 영화감독 숌(Java) (0) | 2021.02.19 |
백준 1018번 - 체스판 다시 칠하기 (0) | 2021.02.18 |