https://www.acmicpc.net/problem/2751
난이도 : 실버 5
태그 : 정렬
설명
수 정렬하기 두 번째 문제입니다.
1편에서는 직접 삽입정렬을 구현해 풀이해봤다면,
이번엔 자바에서 기본적으로 제공하는 정렬 기능을 사용해 풀어보겠습니다.
소스코드
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.Collections
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val stringBuilder = StringBuilder()
val n = br.readLine().toInt()
val list = ArrayList<Int>()
for(i in 0 until n) {
list.add(br.readLine().toInt())
}
Collections.sort(list)
for(i in list) {
stringBuilder.append(i).append("\n")
}
println(stringBuilder)
}
ArrayList안에 원소를 넣고,
Collections.sort()를 사용해 정렬할 수 있습니다.
복잡한 알고리즘을 직접 구현하지 않아도 꽤 손 쉽게 풀 수 있습니다.
후기
여러 언어에서 기본적으로 지원하는 알고리즘은 매우 많은 공학자들이 갈려나간 알고리즘이기 때문에,
매우 효율적이고, 빠르게 작동하므로
실제 개발에서는 정렬 알고리즘을 직접 짜기 보다는 기본적으로 제공되는 메소드를 쓰는게 대부분입니다.
하지만, 언젠가 직접 알고리즘을 구현해야 하는 상황도 충분히 있을 수 있고,
알고리즘을 배우는 입장에서는 직접 정렬 알고리즘을 구현하는 것도 꽤 많은 공부가 됩니다.
'코딩테스트 > Kotlin' 카테고리의 다른 글
[백준 1707번] [Kotlin] 이분 그래프 (0) | 2023.02.03 |
---|---|
[백준 11931번] [Kotlin] 수 정렬하기 4 (0) | 2023.02.01 |
[백준 24568번] [Kotlin] Cupcake Part (0) | 2023.01.31 |
[백준 2468번] [Kotlin] 안전 영역 (0) | 2023.01.30 |
[백준 11179번] [Kotlin] 2진수 뒤집기 (0) | 2023.01.30 |