이 문제는 숫자를 오름차순으로 정렬하는 문제이다. JAVA에서 sort 함수로 오름차순으로 정렬해주는 함수가 존재한다. 그 함수를 사용하면 쉽게 풀 수 있다. 하지만 시간제한 5초에 메모리 제한 8MB로 제한 되어있기 때문에 입력, 출력 부분만 잘 해결하면 쉽게 풀 수 있다.
package sort;
import java.util.*;
import java.io.*;
public class number_sort2 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//Scanner in = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int[] nums = new int[N];
for(int i = 0; i<N; i++) {
nums[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(nums);
for(int i=0; i<N; i++) {
sb.append(nums[i]).append("\n");
}
System.out.println(sb);
}
}
- 백준 문제에서는 시간복잡도와 메모리 제한을 두어 코드를 구현했을 때 답은 나와도 시간초과나 메모리 초과로 문제가 틀리는 경우가 있다. 이러한 경우처럼 시간제한과 메모리제한을 두었을 때 만족할 수 있는 방법들에 대해 배우고 대처할 수 있게 되었다.