removeFirst와 removeLast는 지우고싶은 개수 만큼 Int 값을 넣어서 지울 수 있습니다
removeFirst와 removeLast는 지우고 싶은 만큼 Int 숫자만큼 넣어서 지울 수 있습니다.
rounded 메서드를 사용하면 반올림을 할 수 있습니다.
- 가장 큰 값과 작은값들을 지우기 위해서는 sort를 사용하여 정렬을 해두는 것이 문제를 해결하는데 쉬워집니다.
- solved.ac를 풀기 위해서는 0.15% 만큼 앞뒤로 짤라야합니다. 하지만 0.15를 곱해주면 소수점이 나올 수 있기 때문에 그러기 위해서는 rounded를 사용해서 반올림을 해줘야 합니다.
import Foundation
let n = Int(readLine()!)!
var arr:[Int] = []
if n == 0 {
print(0)
exit(0)
}
for _ in 0..<n {
arr.append(Int(readLine()!)!)
}
arr.sort()
let count = arr.count
let ratio = Int((Double(count) * 0.15).rounded())
arr.removeFirst(ratio)
arr.removeLast(ratio)
let sum = Double(arr.reduce(0,+))/Double(arr.count)
print(Int(sum.rounded()))
'Algorithm > Baekjoon' 카테고리의 다른 글
Swift - 백준 10773번 제로 (0) | 2024.08.20 |
---|---|
Swift - 백준 2231 분해합 (0) | 2024.08.20 |
Swift - 백준 11651번 좌표 정렬하기 2 (0) | 2024.08.19 |
Swift - 백준 2869번 달팽이는 올라가고 싶다 (1등코드) (0) | 2024.08.19 |
Swift - 백준 11050번 이항 계수1 (0) | 2024.08.16 |