[백준] 2751번 : 수 정렬하기 2 - JAVA(자바)

Life is ninanino·2023년 1월 13일
0

[백준] JAVA

목록 보기
36/37
post-thumbnail

https://www.acmicpc.net/problem/2751


Collections.sort 써서 풀었는데 시간초과가 떴다

오답코드

package Doit알고리즘코딩테스트.정렬;// @ author ninaaano

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 P2751_수정렬하기2 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());
        List<Integer> sortList = new ArrayList<>();

        for(int i = 0; i<n; i++){
            sortList.add(Integer.valueOf(br.readLine()));
        }
        Collections.sort(sortList);

        for(int i : sortList) {
            System.out.println(i);
        }
    }
}

여기서 어디서 시간이 많이 걸렸을까?
찾아보니 StringBulider를 쓰면 시간을 단축할 수 있다해서 StringBuilder를 사용했더니 통과됐다..

정답코드

package Doit알고리즘코딩테스트.정렬;// @ author ninaaano

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 P2751_수정렬하기2 {
    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());
        List<Integer> sortList = new ArrayList<>();

        for(int i = 0; i<n; i++){
            sortList.add(Integer.parseInt(br.readLine()));
        }

        Collections.sort(sortList);

        for(int i : sortList) {
            sb.append(i+"\n");
        }
        System.out.print(sb);
    }
}

시간복잡도는 언제 공부해야하나ㅠㅠ

profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

0개의 댓글