요구능력 : 좌표기능과 정렬함수를 활용할줄 아느냐
코드설명 : Swift에 내장된 정렬함수를 사용했다.
Swift의 강력한 기능 중 하나인 좌표형식으로 저장할 수 있는기능.. 난 까먹고 있었다.
sort함수를 평소에는 sort() 나 sort(by: <) 이런식으로만 썻었는데 처음 클로저로 써봤다.
앞에 좌표와 뒤의 좌표의 x좌표가 같다면 y좌표를 오름차순 같지않다면 x좌표를 오름차순한다.
후기 : 매우 간단한 문제지만 좌표기능과 sort()함수 활용법을 몰라서 고전한 문제..
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.0 == $1.0 ? $0.1 < $1.1 : $0.0 < $1.0
} )
for x in 0..<n {
print("\(arr[x].0) \(arr[x].1)")
}
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
Swift) 백준 1181번 (단어 정렬) (0) | 2021.08.23 |
---|---|
Swift) 백준 11651번 (좌표 정렬하기2) (0) | 2021.08.23 |
Swift) 백준 1427번 (소트인사이드) (0) | 2021.08.21 |
Swift) 백준 2108 (통계학) (0) | 2021.08.21 |
Swift) 백준 2751번 (수 정렬하기2) (0) | 2021.08.20 |
댓글