[백준] 덩치 (7568)

문제 설명

백준 7568번 문제 링크

입력 및 출력

» 입력

첫 줄에는 전체 사람의 수 N이 주어진다. 그리고 이어지는 N개의 줄에는 각 사람의 몸무게와 키를 나타내는 양의 정수 x와 y가 하나의 공백을 두고 각각 나타난다.

» 출력

여러분은 입력에 나열된 사람의 덩치 등수를 구해서 그 순서대로 첫 줄에 출력해야 한다. 단, 각 덩치 등수는 공백문자로 분리되어야 한다.

제한 사항

2 ≤ N ≤ 50 10 ≤ x, y ≤ 200

예제 입출력(테스트케이스)

입력 출력
5
55 185
58 183
88 186
60 175
46 155
2 2 1 2 5

문제 풀이(SWIFT) 1

//
//  main.swift
//  BOJ7568_SWIFT
//
//  Created by choiyoujun on 2022/03/10.
//

let N = Int(readLine()!)!
var list = [(Int, Int)]()
var score = [Int](repeating: 1, count: N)
var q = [(Int, Int)]()

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

for e in list.sorted(by: >) {
    q.append(e)
}

while !q.isEmpty {
    let now = q.removeFirst()
    
    for i in 0..<N {
        if list[i].0 < now.0 && list[i].1 < now.1 {
            score[i] += 1
        }
    }
}

var ans = ""
for i in score {
    ans += "\(i) "
}

print(ans)



태그:

카테고리:

업데이트: