Where who wants to meet someone

백준 Swift [11651] 좌표 정렬하기 2 본문

백준 알고리즘 문제 기록/정렬

백준 Swift [11651] 좌표 정렬하기 2

Lust3r 2023. 8. 4. 14:33
728x90

난이도

실버 V

 

문제

https://www.acmicpc.net/problem/11651

 

11651번: 좌표 정렬하기 2

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

www.acmicpc.net

 

내 답안

var array: [(Int, Int)] = []

for _ in 1...Int(readLine()!)! {
    let input = readLine()!.split(separator: " ").map { Int($0)! }
    array.append((input[1], input[0]))
}

array.sort(by: <)

for i in array.indices {
    print(array[i].1, array[i].0)
}

- 이전에 좌표를 받아서 풀었던 문제가 x좌표의 값을 우선으로, 그 다음으로 y좌표였다면 이번 문제는 그 반대를 요구한다.

- 값을 입력받고, y좌표를 기준으로 정렬해야 하기에 input[1], [0] 순으로 append

- 정렬 이후 출력은 역순이 되어야 하기에 1, 0번값 순으로 사용