쥐수의 공부노트

백준 2108번 통계학 본문

swift 알고리즘/심화 2

백준 2108번 통계학

쥐수 2023. 6. 5. 15:19
728x90

정답 :

let n = Int(readLine()!)!
var array : [Int] = []
var sum = 0
var dict = [Int:Int]()

for _ in 0..<n {
    let num = Int(readLine()!)!
    array.append(num)
    sum += num
    dict[num,default: 0] += 1
}
array.sort()

let avg = Int(round(Double(sum) / Double(n)))
print(avg)
let center = array[n/2]
print(center
)
let maxValue = dict.values.max()
var mode = dict.filter({ $0.value == maxValue }).keys.sorted()
if mode.count > 1 {
    print(mode[1])
} else {
    print(mode[0])
}
let range = array.max()! - array.min()!
print(range)
더보기

TMI : Dictionary를 이용해서 최빈값을 구하는 과정을 보자..

 

728x90