Algorithm/Baekjoon
Swift - 18110번 sovled.ac
ytw_developer
2024. 8. 20. 16:31
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()))