Legacy/Be Refactoring..

[BOJ/Swift] 좌표 정렬하기 11650

Marco 2021. 9. 12. 01:21
728x90

Baekjoon Online Judge

단계별로 풀어보기 / 정렬 / 좌표 정렬하기 11650

문제에 모든 정보 및 저작권 https://www.acmicpc.net/


Todo:

2차원 평면 위의 점 N개가 주어진다.
좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.

Constraints:

입력 제약:
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다.
둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다.
(-100,000 ≤ xi, yi ≤ 100,000)
좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

출력 제약:
첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.

Input-Output


(출처: https://www.acmicpc.net/problem/11650)

Solution.swift

let coordinateCount = Int(readLine()!)!
var coordinates = [[Int]]()

for _ in 0..<coordinateCount {
    coordinates.append( readLine()!.split(separator: " ").map{ Int(String($0))! } )
}

coordinates.sorted { lhs, rhs -> Bool in
    return lhs[0] < rhs[0] || (lhs[0] == rhs[0] && lhs[1] < rhs[1])
}.forEach { coordinate in
    print("\(coordinate[0]) \(coordinate[1])")
}

github Code Repository

How I tried this:

좌표 정렬하기 2를 먼저 풀어가지고 편했다.
<와 > 차이일 뿐이었다.

What I got is:

I have to study:

문제에 관한 모든 저작권 : https://www.acmicpc.net/

728x90