덩치문제는 단순 O(n^2) 시간복잡도로도 풀 수 있습니다

 

 

단순하게 값들을 튜플 타입인 배열에 추가한 후 다음과 같이 간단하게 풀 수 있습니다.

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

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

for i in 0..<arr.count {
    for j in 0..<arr.count {
        if i != j {
            if arr[i].0 < arr[j].0 && arr[i].1 < arr[j].1 {
                arr[i].2 += 1
            }
        }
    }
}

for i in arr {
    print(i.2, terminator: " ")
}

 

 

 

 

 

 

 

'Algorithm > Baekjoon' 카테고리의 다른 글

Swift - 백준 4949번 균형잡힌 세상  (0) 2024.08.22
Swift - 백준 2108번 통계학  (0) 2024.08.22
Swift - 백준 10773번 제로  (0) 2024.08.20
Swift - 백준 2231 분해합  (0) 2024.08.20
Swift - 18110번 sovled.ac  (0) 2024.08.20
ytw_developer