반응형

10989번 수 정렬하기

n개의 수를 입력받고
n만큼 배열생성 후

오름차순출력 생각하고 같거나 높을 때 뒤로 내리는 정렬식
해봅시다

처음에는 순차정렬같은거로 해보고

두번째 구현때는 끝값기준으로 비교하는 정렬을 해보자.(이건 책에서 우연히 봄)

결국 시간초과됨ㅋㅋ
일단 대가리를 열심히 굴려서 구현한게 버블정렬 비스무리하게 만들었는데 완전한 버블이였으면 맞췄을거 버블을 제대로 구현하지 못해 시간초과가 계속 나왔다.

결국은 내장메서드 Arrays.sort()를 사용해서 해결...
이것도 나중엔 복수하러 온다.

--------

hint - 시간이 상당히 빡빡하니 속도최적화를 최우선시 해야한다
ex) BufferedReader, StringBuffer 등등 사용

--------
solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
 
public class Main {
 
    public static void main(String[] args) throws NumberFormatException, IOException {// 순차정렬할것
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        
        int n = Integer.parseInt(br.readLine());
        
        int[] arrayInt = new int[n];
        
        for (int i = 0; i < n; i++) {
            arrayInt[i] = Integer.parseInt(br.readLine());
        }
        
        Arrays.sort(arrayInt);
        
        
        StringBuffer sb=new StringBuffer();
        for(int i=0;i<arrayInt.length;i++){
            sb.append(arrayInt[i]+"\n");
        }
        System.out.println(sb);
    }
}
cs


실행시간 - 2700ms

반응형

+ Recent posts