-
백준 2751(JAVA) - 수 정렬하기2Algorithm 2022. 11. 22. 16:08728x90
백준 2751 수 정렬하기 2 문제이다.
이 문제는 순수하게 그냥 나열해두고 sorting만 해주면 끝나는 문제이다.
처음에는 Arrays.sort()로 실시했는데 시간초과가 나서 Collections.sort()로 실시했다. 사실 그래도 시간초과가 났다. 이해가 잘 안되어서 고민을 했는데 StringBuilder로 해보니까 바로 정답을 맞출 수 있었다.
package selftest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main_2751 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); List<Integer> list = new ArrayList<Integer>(); for(int i = 0; i<N; i++) { int num = Integer.parseInt(br.readLine()); list.add(num); } Collections.sort(list); StringBuilder sb = new StringBuilder(); for(int i = 0; i<list.size(); i++) { sb.append(list.get(i)).append('\n'); } System.out.println(sb.toString()); } }
이렇게 ArrayList 안에서 add로 num을 입력받고 Collections.sort()로 sorting하고 StringBuilder로 append 시켜줄 때 list의 size만큼 get()으로 받아와서 개행해서 뽑아주면 된다.
여러가지 Framework를 써서 문제를 풀었지만 아마도 배열 Arrays.sort()에다 StringBuilder를 취해주었으면 정답이 나오지 않았을까 한다.
728x90'Algorithm' 카테고리의 다른 글
백준 10815(JAVA) - 숫자 카드 (0) 2022.11.24 백준 15953(JAVA) - 상금헌터 (0) 2022.11.24 백준 2810(JAVA) - 컵홀더 (0) 2022.11.17 백준 2512(JAVA) - 예산 (0) 2022.11.15 백준 10814(JAVA) - 나이순 정렬 (0) 2022.11.14