-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path입국심사.swift
More file actions
34 lines (30 loc) · 963 Bytes
/
입국심사.swift
File metadata and controls
34 lines (30 loc) · 963 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//
// 입국심사.swift
//
//
// Created by chihoooon on 2022/01/25.
//
import Foundation
func solution(_ n:Int, _ times:[Int]) -> Int64 {
var start: Int64 = Int64(times.min()!)
var end: Int64 = Int64(times.max()! * n)
var answer: Int64 = 0
while start < end {
let mid = (start + end) / 2
var completedPeople: Int64 = 0
// mid 시간안에 처리할 수 있는 총 사람수
times.forEach {
completedPeople += mid / Int64($0)
}
// 처리할수 있는 사람 수가 처리해야되는 사람 수보다 적으면 시간을 너무 빡빡하게 잡았음
if completedPeople < n {
start = mid + 1
}
// 처리할수 있는 사람 수가 처리해야되는 사람 수보다 많으면 시간을 너무 여유있게 잡았음
else {
end = mid
}
}
answer = start
return answer
}