문제 요약
언뜻 읽었을 때 이해가 되지 않았다. 어차피 마지막 사람이 인출하는것까지 카운트하면 전체 소요되는 시간은 똑같은거 아닌가?
이 문제는 각 사람이 대기한 시간까지 포함하는 문제다. 3, 2, 1의 시간이 걸린다치면 123 순으로 하면 1 + 3+ 6으로 10이 나오지만 321순으로 인출을 하면 3+ 5+ 6으로 14가 나오기 떄문에 최솟값을 구할수 없다.
해답
let N = Int(readLine()!)!
var array = readLine()!.split(separator: " ").map({Int(String($0))!})
var sum:Int = 0
var result:Int = 0
array.sort()
for idx in array {
sum = idx + sum
result = sum + result
}
print(result)
'Algorithm > 백준' 카테고리의 다른 글
| [백준 스위프트] 15965번 K번째 소수 (0) | 2022.08.30 |
|---|---|
| [백준 스위프트] 1302번 베스트셀러 (0) | 2022.08.24 |
| [백준 스위프트] 9375번 패션왕 신해빈 (0) | 2022.08.24 |
| [백준 스위프트] 5525번 IOIOI (0) | 2022.08.24 |
| [백준 스위프트] 1764번 듣보잡 (0) | 2022.07.25 |