백준

백준 스위프트 2108 통계학

화찌님 2023. 1. 10. 23:00


<코드>

import Foundation
//2108 통계학
let n = Int(readLine()!)!
var arr = [Int]()
var sum = 0
var dic = [Int:Int]()

for _ in 0..<n{
    let input = Int(readLine()!)!
    arr.append(input)
    sum += input
}

let avr = Int(round((Double(sum) / Double(arr.count))))
let mid = arr.sorted()[arr.count/2]
var bin = 0

let range = arr.max()! - arr.min()!

for i in arr{
    (dic[i] == nil) ? (dic[i] = 1) : (dic[i]! += 1)
}

var sortedDitionary = dic.sorted{$0.1==$1.1 ? $0.0 < $1.0 : $0.1 > $1.1 }

if dic.count >= 2{

    if sortedDitionary[0].value == sortedDitionary[1].value{
        bin = sortedDitionary[1].key
    }else{
        bin = sortedDitionary[0].key
    }
}else{
    bin = dic.first!.key
}

print(avr)
print(mid)
print(bin)
print(range)

'백준' 카테고리의 다른 글

연속되는 문자에 관한 문제 풀이  (0) 2023.11.11
[Swift] 진법 변환 radix  (0) 2023.11.11
백준 스위프트 1874 스택수열  (0) 2023.01.07
스위프트 백준 11866 요세푸스문제  (0) 2023.01.07
백준 스위프트 2164 카드2  (2) 2023.01.05