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