알고리즘 공부/미분류
백준 10989번 with Kotlin #IntArray
_우지
2021. 7. 22. 15:31
수 정렬하기 3 성공
시간 제한메모리 제한제출정답맞은 사람정답 비율
3 초 (하단 참고) | 8 MB (하단 참고) | 114200 | 23776 | 18293 | 23.107% |
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 1 복사
10 5 2 3 1 4 2 3 5 1 7
예제 출력 1 복사
1 1 2 2 3 3 4 5 5 7
출처
비슷한 문제
알고리즘 분류
시간 제한
- Java 8: 3 초
- Java 8 (OpenJDK): 3 초
- Java 11: 3 초
- Kotlin (JVM): 3 초
메모리 제한
- Java 8: 512 MB
- Java 8 (OpenJDK): 512 MB
- Java 11: 512 MB
- Kotlin (JVM): 512 MB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
val br = BufferedReader(InputStreamReader(System.`in`))
fun main(){
val bw = BufferedWriter(OutputStreamWriter(System.out))
val N = br.readLine()!!.toInt()
val list = IntArray(N)
for(i in 0 until N){
list[i]=br.readLine()!!.toInt()
}
list.sort()
for(i in 0 until N){
bw.write("${list[i]}\n")
}
bw.flush()
bw.close()
}
|
cs |
나는 줄 곧 배열을 선언할때 MutableList로 선언을 했었는데, 이러한 코딩의 단점을 알려주는 문제였다.
List는 여러가지 메소드를 지원을 하는 대신 메모리와 시간이 상대적으로 느리다.
이를 해결하기위해선 원래 배열을 선언하는 방법인 IntArray 같은 방법을 사용해야했다.