좌표 정렬하기 2 성공
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 | 256 MB | 25394 | 16906 | 14210 | 68.558% |
문제
2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
출력
첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.
예제 입력 1 복사
5 0 4 1 2 1 -1 2 2 3 3
예제 출력 1 복사
1 -1 1 2 2 2 3 3 0 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | fun main(){ val num = readLine()!!.toInt() val arr = ArrayList<Pair<Int,Int>>() for(i in 0 until num){ val line = readLine()!!.split(" ").map{it.toInt()} arr.add(Pair(line[0],line[1])) } arr.sortWith(Comparator{d1,d2 -> if(d1.second == d2.second) { d1.first - d2.first }else{ d1.second-d2.second } }) for(i in 0 until num){ println("${arr[i].first} ${arr[i].second}") } } | cs |
'알고리즘 공부 > 미분류' 카테고리의 다른 글
백준 1920번 수찾기 with Kotlin (0) | 2021.07.11 |
---|---|
팰린드롬수 1259번 with Kotlin (0) | 2021.07.10 |
이진탐색 (0) | 2021.07.10 |
백준 11650번 with Kotlin #Pair #sortWith #sortBy (0) | 2021.07.09 |
백준 10814번 with Kotlin #sortWith #정렬 (0) | 2021.07.09 |