티스토리 뷰

Algorithm

swift 백준 4344

강경 2020. 12. 28. 10:22
728x90
반응형



import Foundation

let repeatCount = Int(readLine()!)!

for _ in 1...repeatCount {
    // 값을 받아온다
    var scoreArr = readLine()!.split(separator: " ").map{ Double($0)! }
    let scoreCount = scoreArr[0]
    scoreArr.remove(at: 0)

    // 평균을 계산한다
    let average = scoreArr.reduce(0, +) / scoreCount
    let upperAverage = scoreArr.filter { $0 > average }
    let percentage = Double(upperAverage.count) / Double(scoreArr.count) * 100

    // 소수점 포맷
    let formatter = NumberFormatter()
    formatter.roundingMode = .halfUp // 반올림
    formatter.minimumFractionDigits = 3 // 3자릿수까지만 표현
    formatter.maximumFractionDigits = 3 // 3자릿수까지만 표현
    let result = formatter.string(from: NSNumber(value: percentage))!
    
    print("\(result)%")
}

swift 배열의 reduce와 filter를 사용하였다.

소수점 포맷을 구하는 부분에서 컴파일, 런타임 오류와 오답이 나왔다. (다 나왔네 ㅋㅋㅋ)

하루빨리 문법에 익숙해져서 능숙하게 타라탁탁 한번에 풀었으면 좋겠다.. 😢

 

www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net

 

728x90
반응형

'Algorithm' 카테고리의 다른 글

swift 백준 1065  (0) 2021.01.05
swift 백준 4673  (0) 2021.01.05
swift 백준 8958  (0) 2020.12.28
swift 백준 1546  (0) 2020.12.28
swift 백준 3052  (0) 2020.12.28