프로그래머스
[프로그래머스] 스위프트 상호평가
Hani_Levenshtein
2021. 9. 13. 01:09
https://programmers.co.kr/learn/courses/30/lessons/83201
코딩테스트 연습 - 2주차_상호평가
[[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD"
programmers.co.kr
import Foundation
func solution(_ scores:[[Int]]) -> String {
let n = scores.count
var answer = ""
for j in 0..<n {
var score = 0
var array: [Int] = []
var count = 0
for i in 0..<n {
array.append(scores[i][j])
score += scores[i][j]
if scores[j][j] == scores[i][j] { count += 1 }
}
array = array.sorted()
if count == 1 && (array.first! == scores[j][j] || array.last! == scores[j][j]) {
answer.append(grade(of: (score-scores[j][j])/(n-1)))
} else {
answer.append(grade(of: score/(n)))
}
}
return answer
}
func grade(of score: Int) -> String {
switch score {
case 90...100:
return "A"
case 80..<90:
return "B"
case 70..<80:
return "C"
case 50..<70:
return "D"
default:
return "F"
}
}