728x90
풀이
- 입력 X, Y 좌표를 받을 수 있는 2차원 Int 배열을 선언한다.
- 1번의 배열에 0번째에 X 좌표 값을 넣고 1번째에 Y 좌표 값을 넣는다.
- 문제의 조건에 따라 sorting 을 한다. 이때 Arrays - sort 함수에서 Comparable 를 이용하여 X 좌표가 같을 경우 Y좌표의 크기를 비교한다.
코드
import java.util.*
fun main(ars: Array<String>) {
val sc = Scanner(System.`in`)
val n = sc.nextInt()
val list = Array(n) {
IntArray(2)
}
for (i in 0 until n) {
val x = sc.nextInt()
val y = sc.nextInt()
list[i][0] = x
list[i][1] = y
}
Arrays.sort(list) { e1, e2 ->
if (e1[0] == e2[0]) {
return@sort e1[1] - e2[1]
} else {
return@sort e1[0] - e2[0]
}
}
for (i in 0 until n) {
println("${list[i][0]} ${list[i][1]}")
}
}
728x90
'알고리즘' 카테고리의 다른 글
[백준][KOTLIN] 10814 나이순 정렬 (0) | 2021.12.07 |
---|---|
[백준][KOTLIN] 1181 단어 정렬 (0) | 2021.12.07 |
[백준][KOTLIN] 1427 소트인사이드 (0) | 2021.12.06 |
[백준][KOTLIN] 2108 통계학 (0) | 2021.12.06 |
[백준][KOTLIN] 2751 수 정렬하기 2 (0) | 2021.12.02 |