본문 바로가기
Algorithm/문제풀이_백준

Swift) 백준 11651번 (좌표 정렬하기2)

by Joahnee 2021. 8. 23.

요구능력 : 좌표기능과 정렬함수를 활용할줄 아느냐

 

코드설명 : Swift에 내장된 정렬함수를 사용했다.

Swift에서는 좌표형태로 저장할 수 있는 강력한기능이 있다.

sort()함수에 적은걸 설명해보자면,

앞에 좌표와 뒤의 좌표의 y좌표가 같다면 x좌표를 오름차순 같지않다면 y좌표를 오름차순한다.

 

후기 : 좌표문제는 어느정도 자신감이 붙은것같다.

let n = Int(readLine()!)!
var arr: [(Int, Int)] = []

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

arr.sort(by: {
    $0.1 == $1.1 ? $0.0 < $1.0 : $0.1 < $1.1
})

for i in 0..<n {
    print("\(arr[i].0) \(arr[i].1)")
}

댓글