1205번: 등수 구하기
문제 풀이 아이디어
- 자료구조/알고리즘
: P의 최대 크기가 50이므로 완전탐색을 수행해도 됩니다.
- 풀이법
1. 공동 등수가 있을 경우 (N + 1) - (더 낮은 점수의 갯수)가 등수가 됩니다.
2. N개를 돌면서 더 낮은 점수의 갯수를 셉니다.
3. 공동등수를 출력합니다.
🚫 N == P 이거나 기존의 꼴찌보다 작거나 같은 경우는 예외처리합니다.
코드
import Foundation
let input = readLine()!.split(separator: " ").map { Int(String($0))! }
let (N, new, P) = (input[0], input[1], input[2])
var scores = [Int]()
if N > 0 {
scores = readLine()!.split(separator: " ").map { Int(String($0))! }
} else {
print(1)
exit(0)
}
if N == P && new <= scores.last! {
print(-1)
exit(0)
}
var cnt = 0
for score in scores {
if score > new {
cnt += 1
}
}
print(cnt + 1)